NPM与外部服务的集成(上)

news2024/11/24 5:43:05

目录

1、关于访问令牌

1.1 关于传统令牌

1.2 关于粒度访问令牌

2、创建和查看访问令牌

2.1 创建访问令牌

在网站上创建传统令牌

在网站上创建粒度访问令牌

使用CLI创建令牌

CIDR限制令牌错误

查看访问令牌

在网站上查看令牌

在CLI上查看令牌

令牌属性


1、关于访问令牌

注意:您必须使用npm版本5.5.1或更高版本才能使用访问令牌。

 在使用API或npm命令行界面(CLI)时,访问令牌是使用用户名和密码向npm进行身份验证的替代方案。 访问令牌是一个十六进制字符串,您可以使用它来进行身份验证,它赋予您安装和/或发布模块的权利。

有两种类型的访问令牌可用:

  • 传统令牌
  • 粒度访问令牌

您可以创建访问令牌,以给予其他工具(如持续集成测试环境)能够访问您的npm包。例如,GitHub Actions提供了存储密钥的能力,例如访问令牌,然后您可以使用这些秘密来进行身份验证。 当您的工作流运行时,它将能够像您一样完成npm任务,包括安装您可以访问的私有包。

您可以使用Web或CLI中的令牌,以最简单的方式使用。你在每个环境中所做的事情都会反映在另一个环境中。

令牌命令允许您:

  • 查看令牌以更轻松地跟踪和管理
  • 创建新的传统令牌
  • 根据IP地址范围(CIDR)限制访问
  • 删除/撤销令牌

1.1 关于传统令牌

传统令牌是以与创建它们的用户相同的权限创建的。运行npm login时,npm CLI会自动生成并使用发布令牌。

有三种不同类型的遗留令牌:

  • 只读:您可以使用这些令牌从注册表下载包。这些令牌最适合安装软件包的自动化和工作流。为了提高安全性,我们建议使用粒度访问令牌。
  • 自动化:您可以使用这些令牌下载软件包并安装新软件包。这些令牌最适合发布新包的自动化工作流。自动化令牌不适用于在npm上执行操作,并且适用于CI/CD工作流。为了提高安全性,我们建议使用粒度访问令牌。
  • 发布:您可以使用这些令牌下载软件包、安装软件包以及更新用户和软件包设置。我们建议将它们用于交互式工作流,如CLI。如果在您的帐户上启用了2FA,发布令牌将需要2FA才能在npm上执行敏感操作。

1.2 关于粒度访问令牌

细粒度访问令牌允许您根据要使用令牌的用途限制对令牌的访问。使用粒度访问令牌,您可以:

  • 限制令牌可以访问哪些包和范围
  • 向特定组织授予令牌访问权限
  • 设置令牌到期日期
  • 基于IP地址范围限制令牌访问
  • 选择只读或读写访问

您可以在npm帐户上创建多达1000个粒度访问令牌。您可以设置令牌的有效期,至少在未来一天内。每个令牌最多可以访问50个组织,最多可以访问50个包、50个作用域或50个包和作用域的组合。访问令牌与用户的权限绑定;因此,它在任何时间点都不能具有比用户更多的许可。如果用户从包或组织撤销了其访问权限,它们的粒度访问令牌也将使其访问从那些包或org中被撤销。

当您给予对组织的令牌访问权限时,令牌只能用于管理组织设置以及与该组织关联的团队或用户。它不给予令牌发布组织管理的包的权利。

2、创建和查看访问令牌

您可以从网站和命令行(CLI)界面创建和查看访问令牌。

2.1 创建访问令牌

在网站上创建传统令牌

注意:为了提高安全性,我们建议使用粒度访问令牌,而不是旧版只读令牌或旧版自动化令牌。

1、在页面的右上角,单击您的个人资料图片,然后单击访问令牌。

2、可以看到最近的访问令牌列表,上面2个按钮,可以用来创建新的令牌,以及删除列表中的令牌,如下所示:

 令牌有2中,颗粒度访问令牌,以及经典令牌

3、选择一种类型进行令牌的创建,这里先选择经典令牌的创建,需要输入确认密码才能继续。

4 、输入确认密码之后,弹出如下页面。

name: 需输入访问令牌的名字。

访问令牌的类型:

  • 只读:只读令牌只能用于从注册表下载包。 它将有权限读取您有权访问的任何私有包。 对于正在安装软件包但不发布新软件包的自动化和工作流,建议使用此方法。
  • 自动化:自动化令牌可以下载包并发布新包,但如果您在帐户上配置了双因素身份验证(2FA),则不会强制执行。 您可以在持续集成工作流和其他自动化系统中使用自动化令牌来发布包,即使您无法输入一次性密码。
  • 发布:发布令牌可以代表您执行任何操作,包括下载包、发布包以及更改用户设置或包设置。 如果您的帐户上配置了双因素身份验证,则在使用发布令牌时,您将需要输入一次性密码。 对于CLI等交互式工作流,建议使用此方法。

5、然后单击左下角的“生成令牌”按钮,生成一个新的访问令牌。

6、令牌生成之后,回访令牌列表页面,在列表上面可以看到新生成的令牌。

 请确保复制您的令牌。它在这里只显示一次。

在网站上创建粒度访问令牌

1、在页面的右上角,单击您的个人资料图片,然后单击访问令牌。

2、可以看到最近的访问令牌列表,上面2个按钮,可以用来创建新的令牌,以及删除列表中的令牌,如下所示:

 令牌有2中,颗粒度访问令牌,以及经典令牌

3、选择一种类型进行令牌的创建,这里先选择粒度访问令牌的创建,需要输入确认密码才能继续。

4 、输入确认密码之后,弹出如下页面。

(1)需要输入令牌的名字(提供一个唯一的名字)

(2)在描述输入框中,输入对该令牌的描述信息

(3)到期时间,选择令牌到期的时间(默认选择3天)。也可以选择其他的,也已选自定义。 

(4)在“允许的IP范围”字段中,输入要限制访问令牌的IP地址范围。必须使用CIDR表示法输入IP地址范围。要添加多个允许的IP范围,请单击“添加IP范围”,然后在新文本字段中输入IP范围。

(5)包以及作用域权限(默认禁止访问)

​ 

包括3种权限:

  • 禁止访问
  • 只读
  • 可读写

可以选针对哪些包,包括:

  • 当前包以及以后所有的包
  • 可以选择的包,至少选择1个,最大50个

(5)组织的访问权限(默认禁止访问)

 包括3种权限:

  • 禁止访问
  • 只读
  • 可读写

摘要信息(根据以上选择生成对应的摘要信息):

根据摘要信息确认无误后,然后单击左下角“生成令牌”,生成粒度访问令牌。

5、令牌生成之后,回访令牌列表页面,在列表上面可以看到新生成的令牌。

使用CLI创建令牌

您可以使用CLI创建具有只读权限或读取和发布权限的令牌。

注意:您无法从CLI创建旧版自动化令牌或粒度访问令牌。您必须使用网站来生成这些类型的令牌。

  • 只读:只允许安装和分发的令牌,但不允许发布或与您的帐户相关的其他权限。
  • 发布:新令牌的默认设置,以及最允许的令牌类型。发布令牌允许安装、分发、修改、发布以及您对帐户拥有的所有权限。

此外,您可以使用CIDR表示法指定令牌仅对特定的IPv4地址范围有效。 令牌仅在从指定的IP地址使用时有效。

1、要创建新令牌,请在命令行上运行:

  • npm token create 用于创建只读和发布令牌
  • npm token create --read-only 用于创建只读令牌
  • npm token create --cidr=[list] 用于CIDR限制的读取和发布令牌。例如npm token create --cidr=192.0.2.0/24
  • npm token create --read-only --cidr=[list]用于CIDR限制的只读令牌

2、出现提示时,输入密码。

3、如果已启用双因素身份验证
,则在出现提示时输入一次性密码。

4、从命令输出中的标记字段复制令牌。

CIDR限制令牌错误

如果您输入的CIDR字符串无效或格式不正确,您将收到类似于下面的错误:

npm ERR! CIDR whitelist contains invalid CIDR entry: X.X.X.X./YY,Z.Z.. . .

查看访问令牌

注意:不会显示完整的令牌,只会显示前四个字符和最后四个字符。您只能在创建后立即查看完整令牌。

在网站上查看令牌

 在页面的右上角,单击您的个人资料图片,然后单击访问令牌。

在CLI上查看令牌

要查看与您的帐户关联的所有令牌,请在命令行上运行以下命令:

npm token list

令牌属性

  • id:使用令牌ID来引用命令中的令牌。
  • token:第一个数字是实际token。
  • create:创建令牌的日期。
  • readonly:如果是,则表示只读标记。如果为否,则指示同时具有读取和发布权限的令牌。
  • CIDR白名单:按IP地址限制令牌使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/871988.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu22关闭中上方弹出的消息提醒,Ubuntu22关闭开机后中上方弹出的消息提醒:logged in as a privileged user

一、问题描述 Ubuntu22关闭中上方弹出的消息提醒,Ubuntu22关闭开机后中上方弹出的消息提醒:logged in as a privileged user 二、问题分析 此弹出框为消息通知提示,关闭相应的消息通知即可 三、解决方案 1、打开设备 2、打开消息通知&…

c语言作业

作业一: 作业二: if语句后可以跟多条语句,用大括号括起来就行。 if语句中0表示假,非0表示真。 if语句是一种分支语句,可以实现单分支,也可以实现多分支。 else语句不一定和它的对齐的if语句相匹配。 …

Android应用开发(37)LTPO帧率测试基于Surfaceview

Android应用开发学习笔记——目录索引 参考android官网: Frame rate | Android media | Android Developers多重刷新率 | Android 开源项目 | Android Open Source ProjectWindowManager.LayoutParams | Android Developers 目前市面上旗舰手机基本都是…

AirServer是什么软件,手机屏幕投屏电脑神器

什么是 AirServer? AirServer 是适用于 Mac 和 PC 的先进的屏幕镜像接收器。 它允许您接收 AirPlay 和 Google Cast 流,类似于 Apple TV 或 Chromecast 设备。AirServer 可以将一个简单的大屏幕或投影仪变成一个通用的屏幕镜像接收器 ,是一款…

手势识别rtos小车(2)----蓝牙通信

在pycharm下面安装pybluez库 本人:win11python3.8pybluez2 第一步,直接在pycharm终端运行 pip install pybluez 一般都会直接报错 第二步,下载安装win11的SDK文件,Windows SDK - Windows 应用开发 | Microsoft Developer 第三步…

面试热题(验证二叉搜索树)

给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉树 二叉树满足以上3个条件&#xff0c…

SpringMVC关于SSM的整合配置步骤

🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaweb 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 SSM整合 一、创建工程1.1创建Maven工程1.2工程命名1.3检查…

Ubuntu常用配置

文章目录 1. 安装VMware虚拟机软件2. 下载Ubuntu镜像3. 创建Ubuntu虚拟机4. 设置屏幕分辨率5. 更改系统语言为中文6. 切换中文输入法7. 修改系统时间8. 修改锁屏时间9. 通过系统自带的应用商店安装软件10. 安装JDK11. 安装 IntelliJ IDEA12. 将左侧任务栏自动隐藏13. 安装docke…

机器学习终极指南:特征工程(01/2) — 第 -2 部分

西姆兰吉特辛格 一、介绍 欢迎来到“机器学习终极指南”的第二部分。在第一部分中,我们讨论了探索性数据分析 (EDA),这是机器学习管道中的关键步骤。在这一部分中,我们将深入研究特征工程,这是机器学习过程…

fiddler抓包工具的用法以及抓取手机报文定位bug

前言: fiddler抓包工具是日常测试中常用的一种bug定位工具 一 抓取https报文步骤 使用方法: 1 首先打开fiddler工具将证书导出 点击TOOLS------Options------Https-----Actions---选中第二个选项 2 把证书导出到桌面后 打开谷歌浏览器 设置---高级…

如何让你的图片服务也有类似OSS的图片处理功能

原文链接 前言 有自己机房的公司一般都有一套存储系统用于存储公司的图片、视频、音频、文件等数据,常见的存储系统有以NAS、FASTDFS为代表的传统文件存储,和以Minio为代表的对象存储系统,随着云服务的兴起很多公司逐渐将数据迁移到以阿里云…

MySql012——检索数据:创建计算字段(拼接字段、使用别名、执行算术计算)

准备工作1:在study库中创建表vendors,并插入数据 说明:vendors表包含供应商名和位置信息。 use study;CREATE TABLE vendors (vend_id int NOT NULL AUTO_INCREMENT,vend_name char(50) NOT NULL ,vend_address char(50) NULL ,…

SpringBootWeb案例

通过该综合案例,我们就可以知道,在开发一个Web程序时,前端程序、后端程序以及数据库这三者之间是如何交互、如何协作的,而通过这个综合案例也需要掌握根据接口文档开发服务端接口的能力。 而这个案例呢,就是Tlias智能学习辅助系统。 产品经理所绘制的页面原型: 在这个案…

postman测试后端增删改查

目录 一、本文介绍 二、准备工作 (一)新建测试 (二)默认url路径查看方法 三、增删改查 (一)查询全部 (二)增加数据 (三)删除数据 (四&…

Faker库详解 - Python中的随机数据生成器

文章目录 Faker介绍Faker安装Faker使用基本使用方法随机生成人物相关的基础信息随机生成地理相关的信息随机生成网络相关的信息随机生成日期相关的信息随机生成数字/字符串/文本随机生成列表/元组/字典/集合/迭代器/json随机生成文件相关的信息随机生成颜色/表情每次请求获取相…

1.作用域

1.1局部作用域 局部作用域分为函数作用域和块作用域。 1.函数作用域: 在函数内部声明的变量只能在函数内部被访问,外部无法直接访问。 总结: (1)函数内部声明的变量,在函数外部无法被访问 (2)函数的参数也是函数内部的局部变量 (3)不同函数…

测试老鸟经验总结,Jmeter性能测试-重要指标与性能结果分析(超细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Aggregate Report …

【福建事业单位-数学运算】03经济利润-排列组合与概率

【福建事业单位-数学运算】03经济利润-排列组合与概率 一、经济利润1.1常规经济——考的多、难具体数值——方程无数值,给比例——赋值 1.2 分段计费1.3 函数最值(销售总量 单价 * 销量 ; 总利润 单利 * 销量)总结 二、排列组合2…

腾讯云轻量应用服务器搭建WordPress网站教程

腾讯云百科分享使用腾讯云轻量应用服务器搭建WordPress网站教程流程,WordPress 是全球最流行的开源的博客和内容管理网站的建站平台,具备使用简单、功能强大、灵活可扩展的特点,提供丰富的主题插件。腾讯云轻量应用服务器提供 WordPress 应用…

基于注意力神经网络的深度强化学习探索方法:ARiADNE

ARiADNE:A Reinforcement learning approach using Attention-based Deep Networks for Exploration 文章目录 ARiADNE:A Reinforcement learning approach using Attention-based Deep Networks for Exploration机器人自主探索(ARE)ARE的传统边界法非短视路径深度强化学习的方…