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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

根据二叉树创建字符串

题目:给你二叉树的根节点 root ,请你采用前序遍历的方式,将二叉树转化为一个由括号和整数组成的字符串,返回构造出的字符串。 空节点使用一对空括号对 "()" 表示,转化后需要省略所有不影响字符串与原始二叉树之间的一对…

centos7安装phpipam1.4

by:铁乐与猫 date:2021-5-11 安装依赖 sudo yum install epel-release sudo yum install php-mcrypt安装 Apache, MySQL, PHP (LAMP) stack packages sudo yum install httpd mariadb-server php php-cli php-gd php-common php-ldap php-pdo php-pear php-snmp …

Dubbo简介

1. Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只…

【计算机网络】——数据链路层

二、组帧 1、字符计数法 帧头部使用一个字符来表示帧的大小(包括第一个计数字符) (此处一字符一个字节) 2、字符填充收尾定界法 特定字符来定界帧的首和尾。若帧中数据段出现等同于特定字符的字符内容,前置一个转义字符。(类似于正则表达…

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

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

jvm——垃圾回收机制(GC)详解

开始之前有几个GC的基本问题 什么是GC? GC 是 garbage collection 的缩写,意思是垃圾回收——把内存(特别是堆内存)中不再使用的空间释放掉;清理不再使用的对象。 为什么要GC? 堆内存是各个线程共享的空间…

flutter开发实战-just_audio实现播放音频暂停音频设置音量等

flutter开发实战-just_audio实现播放音频暂停音频设置音量等 最近开发过程中遇到需要播放背景音等音频播放,这里使用just_audio来实现播放音频暂停音频设置音量等 一、引入just_audio 在pubspec.yaml引入just_audio just_audio: ^2.7.0在iOS上,video_p…

CI/CD流水线实战

不知道为什么,现在什么技术都想学,因为我觉得我遇到了技术的壁垒,大的项目接触不到,做的项目一个字辣*。所以,整个人心浮气躁,我已经得通过每天的骑行和长跑缓解这种浮躁了。一个周末,我再次宅在…

Docker容器基础

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、Docker概述1、docker是什么2、Docker的设计宗旨3、容器在内核中支持2种重要技术: 三、Docker的核心概念四、Docker相关命令1.安装依赖包2.设置阿里云…

STM32 F103C8T6学习笔记2:GPIO的认识—GPIO的基本输入输出—点亮一个LED

今日继续学习使用 STM32 F103C8T6开发板 点亮一个LED灯,文章提供源码,测试工程,实验效果图,希望我的归纳总结会对大家有帮助~ 目录 GPIO的认识与分类 : 引脚安排整理: 定时器的引脚例举: …

Linux:shell脚本 正则表达式与AWK

一、正则表达式 由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能,类似于增强版的通配符功能,但与通配符不同,通配符功能是用来处理文件…

硬件产品经理:从入门到精通(新书发布)

目录 简介 新书 框架内容 相关课程 简介 在完成多款硬件产品从设计到推向市场的过程后。 笔者于2020年开始在产品领域平台输出硬件相关的内容。 在这个过程中经常会收到很多读者的留言,希望能推荐一些硬件相关的书籍或资料。 其实,笔者刚开始做硬…

【UE】Web Browser内嵌网页的使用

零、准备 1.在Edit菜单打开插件界面 搜索Web Browser并勾选,按提示重启引擎。 2.在资源窗口右键创建Widget Blueprint,并打开 3.搜索canvas panel 并拖拽到下方 4.在实验分类中找到Web Browser拖拽到Canvs Panel下 4.选中WebBrowser在右侧细节面板中…

pycharm,VSCode 几个好用的插件

pycharm Tabnine AI Code 可以在编写程序的时候为你提供一些快捷方式,增加编程速度 Chinese 对英文不好的程序员来说是个不错的选择,可以将英文状态下的pycharm变为中文版的 ChatGPT 可以跟ai聊天,ai可以解决你80%的问题 ,也可以帮…

用对角线去遍历矩阵

声明 该系列文章仅仅展示个人的解题思路和分析过程,并非一定是优质题解,重要的是通过分析和解决问题能让我们逐渐熟练和成长,从新手到大佬离不开一个磨练的过程,加油! 原题链接 用对角线遍历矩阵https://leetcode.c…

自动化安装系统(一)

系统安装过程 加载boot loader加载启动安装菜单加载内核和initrd文件加载根系统运行anaconda的安装向导 安装光盘中与安装相关的文件 安装autofs启动后会自动出现/misc目录。 在虚拟机设置中添加CD/DVD,使用系统ISO文件,登录系统后mount /dev/cdrom …

【UE4 RTS】07-Camera Boundaries

前言 本篇实现的效果是当CameraPawn移动到地图边缘时会被阻挡。 效果 步骤 1. 打开项目设置,在“引擎-碰撞”中,点击“新建Object通道” 新建通道命名为“MapBoundaries”,然后点击接受 2. 向视口中添加 阻挡体积 调整阻挡体积的缩放 向四…

Redis中的数据类型

Redis中的数据类型 Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型: 字符串string哈希hash列表list集合set有序集合sorted set

【vue】简洁优雅的火花线、趋势线

来由 在github发现个好看易用的vue趋势线组件,特此记录。 效果 趋势图生成后效果如上,线条为渐变色,可设置是否平滑。具体线条走势,根据数据动态生成。 使用 安装 npm i vuetrend -S 引入 import Vue from "vue"…

Triangle Area

三角形面积,同底等高,等底等高,等底同高,转换 2 3 5 7 10 15 ? 32