Sne*_*eha 5 oauth oauth-2.0 azure-ad-msal angular implicit-grant
我需要一些输入来在 Angular6+ 应用程序中实现 MSAL 库以与 AZURE AD 集成。
当我阅读微软文档时,我遇到了两个流程“隐式授权流程”和“授权代码流程”。微软团队自己建议,必须实现“身份验证代码流”,因为与“隐式授权流”相比,它更安全。
我正在开发 Angular6+ 应用程序,我必须将其与 AZURE AD 集成。当我检查 MSAL 库的 Angular 时,我只能找到 1 个版本“npm i @azure/msal-Angular”,我认为它实现了“隐式授权流程”。我必须实现“身份验证代码流”。
有人可以在这方面提供帮助吗?
这里有两个困惑,一个是关于流的安全性,另一个是关于 MSAL 是否支持身份验证代码(w/PKCE)。
您不应该将其理解为“身份验证代码是安全的,而隐式流程是不安全的”。这些是相对术语;也就是说,auth core 被认为比隐式流更安全。然而,在某些用例中,隐式流被认为同样好(例如,用户会话超时很短)。互联网上对此存在一些争论。
当前的MSAL.js 2.x (msal-browser) 实现了身份验证代码 (w/ PKCE) 流程。您没有理由不在 Angular 项目中使用它。还有一个MSAL-Angular包装器库,它带有一些额外的功能和粘合代码,并且它是实现隐式流的库(因为它基于 MSAL.js 1.x 又名 msal-core)。但是,您不必仅仅因为您有 Angular 项目就使用它。相反,您可以直接使用 MSAL.js 2.x 创建自己的身份验证服务。
当我第一次发布此内容时,我相信 MSAL 库不支持授权代码流 (PKCE) - 但现在已经改变 - 请参阅上面和下面的评论
其他选择?
当然,OAuth 是关于标准的 - 而 Azure AD 是基于标准的 - 因此你可以为你的技术堆栈使用任何受人尊敬的库。
作为示例,我针对 Azure AD 和其他提供商使用了oidc-client 库
| 归档时间: |
|
| 查看次数: |
7085 次 |
| 最近记录: |