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

目录

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地址限制令牌使用。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mysql数据库第十二课------mysql语句的拔高2------飞高高

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…

【C++】开源:CGAL计算几何库配置使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍CGAL计算几何库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,…

【java】mybatis-plus代码生成

正常的代码生成这里就不介绍了。旨在记录实现如下功能: 分布式微服务环境下,生成的entity、dto、vo、feignClient等等api模块,需要和mapper、service、controller等等分在不同的目录生成。 为什么会出现这个需求? mybatis-plus&am…

【计算机视觉|生成对抗】用深度卷积生成对抗网络进行无监督表示学习(DCGAN)

本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题:Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks 链接:[1511.06434] Unsupervised Representation Learning with Deep Conv…

微信小程序中键盘弹起输入框自动跳到键盘上方处理

效果展示 键盘未弹起时 键盘弹起后: 实现方式 话就不多说了 我直接贴代码了 原理就是用你点击的输入框的底部 距离顶部的位置 减去屏幕高度除以2,然后设成负值,再将这个值给到最外层相对定位的盒子的top属性,这样就不会出现顶…

服务器安装JDK

三种方法 方法一: 方法二: 首先登录到Oracle官网下载JDK JDK上传到服务器中,记住文件上传的位置是在哪里(我放的位置在/www/java),然后看下面指示进行安装 方法三: 首先登录到Oracle官网下载…

修改IDEA的idea.vmoptions参数导致IDEA无法打开(ReservedCodeCacheSize)

事发原因 Maven导依赖的时候OOM,因此怀疑是内存太小,尝试修改idea.vmoptions的参数,然后发现IDEA重启后打不开了,卸载重装后也无法打开。。。 实际上如果导包爆出OOM的话应该调整下图参数,不过这都是后话了 解决思路…

王道机组难题分析

第四章 指令系统 大端方式:就是高地址存放高位, LSB的意思是:全称为Least Significant Bit,在二进制数中意为最低有效位 MSB的意思是:全称为Most Significant Bit,在二进制数中属于最高有效位 操作数可以理…

HCIP学习--BGP2

目录 前置内容 BGP宣告问题 BGP自动汇总问题 BGP 的认证 BGP的聚合(汇总) 标准的BGP聚合配置 非标准的BGP聚合 路由传递干涉策略 抑制列表 Route-map 分发列表 前缀列表 BGP在MA网络中下一跳问题-ICMP重定向 查看与某个邻居收发的路由 配置 有条件打破IBGP水平…

腾讯云轻量应用服务器镜像应用模板清单大全

腾讯云轻量应用服务器支持多种应用模板镜像,Windows和Linux镜像模板都有,如:宝塔Linux面板腾讯云专享版、WordPress、WooCommerce、LAMP、Node.js、Docker CE、K3s、宝塔Windows面板和ASP.NET等应用模板镜像,腾讯云服务器网分享腾…

04 - 分离头指针情况、理解HEAD和branch

查看所有文章链接:(更新中)GIT常用场景- 目录 文章目录 1. 分离头指针2. HEAD和branch2.1 branch的一些操作2.2 HEAD 1. 分离头指针 分离头指针detached HEAD是一种HEAD指针指向了某一个具体的 commit id,而不是分支的情况。 切换…

HTTP请求性能分析 - 简单

使用随手可得的工具,尽量少的前置要求,来完成任务。 0. 目录 1. 前言2. 分析工具2.1 基于Chrome DevTools 的Timing2.1.1 关于Network标签页下的Timing部分2.1.2 一些注意项 2.2 基于Curl 命令 3. 剩下的工作 1. 前言 对于业务开发选手而言,…

Vision Transformer模型入门

Vision Transformer模型入门 一、Vision Transformer 模型1,Embedding 层结构详解2,Transformer Encoder 详解3,MLP Head 详解 二、ViT-B/16 网络结构三、Hybrid 模型详解四、ViT 模型搭建参数 一、Vision Transformer 模型 总体三个模块&am…

无涯教程-Perl - getprotobynumber函数

描述 此函数在标量context中将协议NUMBER转换为其对应的名称,在列表context中将其名称和相关信息转换为:($name,$aliases,$protocol_number)。 语法 以下是此函数的简单语法- getprotobynumber NUMBER返回值 此函数针对错误返回undef,否则返回标量context中的协议编号,并在…

HBase API

我们之后的实际开发中不可能在服务器那边直接使用shell命令一直敲的&#xff0c;一般都是通过API进行操作的。 环境准备 新建Maven项目&#xff0c;导入Maven依赖 <dependencies><dependency><groupId>org.apache.hbase</groupId><artifactId>…

Java中创建线程三种方式

继承Thread类创建线程实现Runnable接口创建线程使用Callable和Future创建线程 继承Thread类 /*** 使用集成Thread的方式实现多线程*/ public class Match1 {public static void main(String[] args) {Runner liuxiang new Runner();//创建一个新的线程liuxiang.setName(&quo…

当执行汇编指令MOV [0001H] 01H时,CPU都做了什么?

今天和几位单位大佬聊天时&#xff0c;讨论到一个非常有趣的问题-当程序执行MOV [0001H], 01H计算机实际上都做了哪些工作&#xff1f;乍一看这个问题平平无奇&#xff0c;CPU只是把立即数01H放在了地址为0001的内存里&#xff0c;但仔细想想这个问题远没有那么简单&#xff0c…

matlab解常微分方程常用数值解法1:前向欧拉法和改进的欧拉法

总结和记录一下matlab求解常微分方程常用的数值解法&#xff0c;本文先从欧拉法和改进的欧拉法讲起。 d x d t f ( x , t ) , x ( t 0 ) x 0 \frac{d x}{d t}f(x, t), \quad x\left(t_{0}\right)x_{0} dtdx​f(x,t),x(t0​)x0​ 1. 前向欧拉法 前向欧拉法使用了泰勒展开的第…

基于grpc从零开始搭建一个准生产分布式应用(2) - 工程构建

开始本章之前默认读者已经配置好了以下环境&#xff1a;Intellij IDEA 2022.1.2、JDK 1.8.0_144、Maven 3&#xff0c;另外也建议大家在一些免费代码托管平台开个帐号&#xff0c;这样就可以免费使用git做版本处理了&#xff0c;笔者自己私人使用的是阿里云的云效平台。因为此专…

Docker安装ElasticSearch/ES 7.4.0

目录 前言安装ElasticSearch/ES安装步骤1&#xff1a;准备1. 安装docker2. 搜索可以使用的镜像。3. 也可从docker hub上搜索镜像。4. 选择合适的redis镜像。 安装步骤2&#xff1a;拉取ElasticSearch镜像1 拉取镜像2 查看已拉取的镜像 安装步骤3&#xff1a;创建容器创建容器方…