Asp.net core asp.net核心的Azure AD身份验证问题

Asp.net core asp.net核心的Azure AD身份验证问题,asp.net-core,azure-active-directory,Asp.net Core,Azure Active Directory,如何在数据库中获取ID令牌和访问令牌?我想将该令牌传递给客户端应用程序以进行API访问。这是正确的方案吗?您可以使用MSAL库登录用户并请求用于访问受Azure AD保护的API的令牌 以下代码段显示了如何登录用户: // Add scopes for the id token to be used at Microsoft identity platform endpoints. const loginRequest = { scopes: ["api://your_api_appli

如何在数据库中获取ID令牌和访问令牌?我想将该令牌传递给客户端应用程序以进行API访问。这是正确的方案吗?

您可以使用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);
        });
参考:

您可以使用spa应用程序,该应用程序在无法安全管理客户端机密的web浏览器上下文中运行。是React的代码示例

在MSAL中,您可以使用
acquireTokenSilent
方法获取应用程序需要调用的API的访问令牌,该方法向Azure AD发出静默请求(不使用UI提示用户)以获取访问令牌。Azure广告服务然后返回一个包含用户同意范围的访问令牌,以允许您的应用程序安全地调用API。您可以从
AuthProvider.js
中引用


另一种更安全的方法是将
授权代码流与PKCE一起使用
MSAL.js 2.0.0
支持该流,目前是Alpha版本,请参阅此处了解更多详细信息。

您可以参考此示例,我只想使用react.js使用jwt令牌访问我的web api。但我不想把客户端密码放到react.js应用程序中。我明白了。但是为什么不在react.js中获取访问令牌呢?