访问令牌的“无效签名”错误(Azure Active Directory / msal js)

2023-11-24

我使用 MSAL JS 来验证用户身份,然后调用 acquireTokenPopup(scopes) 来获取访问令牌。

我正在获取访问令牌,但无法按照其说明使用它签名无效。 (也在 jwt.io 中检查过 - 同样的错误)

在论坛上我发现这是由于 Graph 添加了随机数造成的。 解决方案是什么? 请帮忙。

以下是代码。

tenantConfig = {
    scopes: ["directory.read.all"]
};

this.clientApplication.acquireTokenSilent(this.tenantConfig.scopes).then( 函数(访问令牌){

            },
            function (error) {
                console.log(error);
                this.clientApplication
                    .acquireTokenPopup(this.tenantConfig.scopes)
                    .then(
                        function (accessToken) {

                            console.log("access token   " + accessToken);
                        },
                        function (error) {
                            alert(error);
                        }
                    );
            }
        );

当使用 MSAL.js 并且不使用图形 api 时,您的范围参数应为“[CLIENT_ID]/.default”:

var requestObj = {
  scopes:["[CLIENT_ID]/.default"]
};

如果您打算使用图形 api,则 scopes 参数会有所不同:

var ResourceId = "https://graph.windows.net/";
var scopes = [ ResourceId + "Directory.Read", ResourceID + "Directory.Write"];

这里的例子https://learn.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-javascript-spa使用 graph api 并为 graph api 生成特定令牌,如果需要生成用于其他用途的访问令牌,请更改scopes 参数。

有关范围参数的更多信息:https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-v1-app-scopes#scopes-to-request-access-to-all-the-permissions-of-a- v10-应用程序

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

访问令牌的“无效签名”错误(Azure Active Directory / msal js) 的相关文章

随机推荐