Pau*_*aul 5 azure-active-directory msal.js
我使用 MSAL JS 来验证用户身份,然后调用 acquireTokenPopup(scopes) 来获取访问令牌。
我正在获取访问令牌,但无法使用它,因为它显示Invalid Signature。(也在 jwt.io 中检查过 - 同样的错误)
在论坛上我发现这是由于 Graph 添加了随机数造成的。解决方案是什么?请帮忙。
以下是代码。
tenantConfig = {
scopes: ["directory.read.all"]
};
Run Code Online (Sandbox Code Playgroud)
this.clientApplication.acquireTokenSilent(this.tenantConfig.scopes).then( 函数 (accessToken) {
},
function (error) {
console.log(error);
this.clientApplication
.acquireTokenPopup(this.tenantConfig.scopes)
.then(
function (accessToken) {
console.log("access token " + accessToken);
},
function (error) {
alert(error);
}
);
}
);
Run Code Online (Sandbox Code Playgroud)
当使用 MSAL.js 并且不使用图形 api 时,您的范围参数应为“[CLIENT_ID]/.default”:
var requestObj = {
scopes:["[CLIENT_ID]/.default"]
};
Run Code Online (Sandbox Code Playgroud)
如果您打算使用图形 api,则 scopes 参数会有所不同:
var ResourceId = "https://graph.windows.net/";
var scopes = [ ResourceId + "Directory.Read", ResourceID + "Directory.Write"];
Run Code Online (Sandbox Code Playgroud)
这里的示例https://learn.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-javascript-spa使用图形 api 并为图形 api 生成特定令牌,如果您需要更改范围参数需要生成用于其他用途的访问令牌。
这没关系。只需将算法改为HS256jwt.io中的,即可验证签名。
访问令牌应该没问题。只需确保您已在 Azure 门户上添加Diretory.Read.All权限并授予管理员同意。
参考:
使用 msal.js 从 JavaScript 单页应用程序调用 Graph API
| 归档时间: |
|
| 查看次数: |
4162 次 |
| 最近记录: |