[英]ASP.NET Core 6 : permit Azure AD authentication and local authentication
[英]Azure AD authentication issue with asp.net core
可以使用 MSAL 库登录用户并请求用于访问受 Azure AD 保护的 API 的令牌。
以下代码片段显示了如何登录用户:
// Add scopes for the id token to be used at Microsoft identity platform endpoints.
const loginRequest = {
scopes: ["api://your_api_applicationid/.default"],
};
myMSALObj.loginPopup(loginRequest)
.then((loginResponse) => {
//Login Success callback code here
}).catch(function (error) {
console.log(error);
});
静默获取用户令牌
const tokenRequest = {
scopes: ["api://your_api_applicationid/.default"]
};
myMSALObj.acquireTokenSilent(tokenRequest)
.then((tokenResponse) => {
// Callback code here
console.log(tokenResponse.accessToken);
}).catch((error) => {
console.log(error);
});
参考:
您可以对在无法安全管理客户端机密的 Web 浏览器上下文中运行的 spa 应用程序使用隐式流。 这是 React 的代码示例。
在 MSAL 中,您可以获取应用程序需要调用的 API 的访问令牌,该方法使用acquireTokenSilent
方法向 Azure AD 发出静默请求(不使用 UI 提示用户)以获取访问令牌。 然后,Azure AD 服务返回一个包含用户同意范围的访问令牌,以允许你的应用安全地调用 API。 您可以参考AuthProvider.js
代码。
另一种更安全的方法是将Authorization Code Flow with PKCE
一起使用。 MSAL.js 2.0.0
支持该流程并且目前是 Alpha 版本,请参阅此处的文档了解更多详细信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.