微软节点认证库( msal- node)
| 开始 | AAD 文档 | 图书馆参考文献 |
|---|
关于
马里 节点允许应用程序使用 阿苏雷AD 工作账户和学校账户(AAD),微软个人账户(MSA)以及Facebook,Google,LinkedIn,微软账户等社会身份供应商通过 Azure AD B2C (英语) 服务。 也能让您的应用程序获得访问的符号 微软云 诸如: 微软图形。 。 。 .
支持OAuth2.0赠款类型:
当前版本支持以下获取令牌的方式:
公共客户端 :
机密客户端 :
注意用户名和密码流被贬值,在未来发行时将删除支持.
关于微软认证库一般支持的不同赠款类型的更详细信息可找到 这里。 。 。 .
支持的情景:
该图书馆支持的情景是:
- 调用网络 API 的桌面应用程序
- 调用网络 API 的 Web app
- 调用网络 API 的 Web API
- 守护进程应用程序
可找到更多关于各种情景和映射到每个情景的认证流程的细节 这里。 。 。 .
财务问题
见 这里。 。 。 .
先决条件
使用前 @azure/msal-node 您需要将您的应用程序注册到 azure 门户网站 :
安装
通过国家预防机制:
npm install @azure/msal-node
节点版本支持
马里 节点会跟着 节点.js项目的长期支持时间表我们的支助计划如下.
任何主要生活津贴 节点释放 :
- 将支持稳定( 偶数) 维护 LTS, 活动 LTS, 以及当前版本的节点
- 将放弃对先前支持的已到寿命结束的节点版本的支持
- 在预发/审查/待发版本稳定之前不支持
| 马里 节点版本 | MSAL 支持状态 | 支持的节点版本 |
|---|---|---|
| 4.x.x (中文(简体) ) | 积极发展 | 第20、22、24条 |
| 3.x.x (中文(简体) ) | 积极发展 | 第十六条、第十八条、第二十条、第二十二条、第二十四条 |
| 2.x.x (中文(简体) ) | 维修 | 第十六条、第十八条、第二十条、第二十二条 |
| 1.x.x (中文(简体) ) | 维修 | 第10、12、14、16、18条 |
说明: MSAL节点v2发布时没有功能变化.
使用量
MSAL 基本知识
样本
有多个 样本 包含在使用 MSAL 节点获取令牌的存储器中。 这些样品目前用于人工测试,并不是为了作为最佳做法的参考,因此使用判断力,不会盲目地将这个代码复制到任何生产应用中去.
AAD 样本 :
- 认证码: 使用OAuth2.0授权码流的快取应用.
- 认证码- pkce: 使用OAuth2.0授权代码与PKCE相通的快取应用.
- 设备代码:使用OAuth 2.0设备代码流的命令行应用.
- 刷新脚本: 使用OAuth 2.0刷新流的命令行应用.
- 静音流:使用OAuth2.0授权代码的快活应用流来获取一个活字并存储在活字缓存中,而静活流则在活字缓存中使用活字.
- 客户证书:deaemon app 使用 OAuth 2.0 客户端的证书授权获取一个令牌.
- 半个:Web应用程序使用OAuth 2.0 auth代码流来获取一个Web API的令牌. 网页 API 验证了符号,并代表在网页应用程序中认证的用户调用Microsoft Graph.
- 用户名密码字:Web应用程序使用OAuth 2.0资源所有者密码证书(ROPC)流来获取一个Web API的令牌.
- 电子测试App: Electron桌面应用程序使用带有PKCE流的OAuth 2.0 auth代码来为微软Graph等网络API获取一个令牌.
- mcp 流量:使用OAuth 2.0授权码与MCP资源隔离的快取应用. 见 MCP 磁共振 流程文件。 。 。 .
- 混合 Spa 样本: 演示如何使用样本
enableSpaAuthorizationCode用于使用 MSAL 浏览器和 MSAL 节点对服务器端和客户端端认证进行杠杆化的应用程序执行 SSO.
B2C样本:
- b2c用户流量: 使用OAuth2.0授权码流的快取应用.
其他国家:
构建和测试
// Install dependencies from root of repo
npm install
// Change to the msal-node package directory
cd lib/msal-node
// To run build for common package & node package
npm run build:all
// To run build only for node package
npm run build
// To run tests
npm run test
地方发展
以下是您可能发现有用的命令列表 :
npm run build:modules:watch
以开发/监视模式运行项目。 你的项目会在改变后重建 TSDX有一个特殊的记录器 方便你。 错误消息是相当印刷的,并且为兼容 VS 代码的问题标签格式化 。 如果您做了编辑, 库将被重建 .
npm run build
将软件包装入 dist 文件夹.
软件包被优化并被捆绑为多格式(CommonJS,UMD,和ES模块).
npm run build:all
构建两者 msal-common 财务报告和审定财务报表 msal-node
npm run lint
使用 Pretier 运行 Eslint
npm test, (中文(简体) ), npm run test:coverage, (中文(简体) ), npm run test:watch
以交互模式运行测试监视器(Jest). 默认情况下, 运行自上次承诺以来更改的文件相关测试 . 通过添加旗-封面来生成代码覆盖. 不需要额外的设置。 Jest可以收集整个项目的代码覆盖信息,包括未经测试的文件.
安全报告
如果你发现我们的图书馆或服务有安全问题,请报告 安全性@ microsoft.com 尽可能详细。 您的呈文可能有资格通过 微软慷慨 程序。 请不要将安全问题张贴到 GitHub 问题或任何其他公共网站。 我们收到消息后马上联系你 我们鼓励您通过访问了解安全事件何时发生 此页面 并签署安全咨询警报.
许可证
版权 (c) 微软公司。 版权所有。 根据麻省理工学院的许可.
我们重视并遵守微软开放源码行为守则
该项目通过了 Microsoft 开源行为守则。更多信息见 《行为守则》 或联系人 打开码@ microsoft.com 并附上任何其他问题或评论.