【发布时间】:2021-03-12 02:51:50
【问题描述】:
我正在使用 Azure AD,并且必须调用 API 来获取访问令牌以启动管道。
我正在使用 OAuth2 进行授权,但不知道正确的方法。
我用 Postman 试了一下,能成功得到响应。
但是当我使用 Angular n Node 尝试相同的操作时。
在 Angular 中,我遇到了 CORS 错误,并且 在节点中,我在消息中得到状态码 401
我有端点 URL,用于从 Azure AD 获取令牌,我在 Postman 上进行了类似这样的测试。
https://login.microsoftonline.com/{SomeID}/oauth2/token
请求头:
内容类型:application/x-www-form-urlencoded
请求正文:
grant_type: client_credentials
client_id:{Client_ID}
client_secret: {秘密}
对于我使用第三方包名称的节点 AXIOS
我觉得从 Angular 本身传递请求是不对的,所以从后端发送请求才有意义。
请帮助我,我在阅读文档 2 周后陷入困境,但无处可去。
代码会很有帮助。
【问题讨论】:
-
您可以使用 sdk
@azure/msal-angular来实现 Azure AD 身份验证。这样做之后,您可以避免 CORS 问题。更多具体实现方法请参考示例:docs.microsoft.com/en-us/samples/azure-samples/… -
@JimXu 该示例用于登录弹出窗口,我想做更多的静默身份验证
-
根据情况,我想你可以做一个后端服务器来请求访问令牌并调用其他api。如果您使用nodejs创建后端服务器,您可以参考示例获取令牌:npmjs.com/package/…
标签: node.js azure oauth-2.0 azure-active-directory