Jon*_*ill 5 azure-active-directory adal adal.js microsoft-graph
我正在尝试将Azure AD登录和Graph API集成到我的angular2网站中。
我已经成功实现了ADAL登录和重定向,它是围绕此处的一个有用的博客文章构建的
从中,我检索了adalservice可以访问的id_token参数。当前,这是通过简单的context.login()并在重定向中捕获令牌来实现的。
当我使用此令牌尝试访问Microsoft Graph时,收到InvalidAuthenticationToken响应,指出Access Token validation failure。
我是新手,因此可能是我的电话本来是错误的,或者我在AD中缺少某些权限,或者我的应用程序注册表缺少权限。我已经看到我可能需要请求具有足够范围的访问令牌,但是我可以找到任何此类示例。
有没有人使用此adalService库获取用于Graph API的令牌?
我找到了解决问题的方法。
我使用了错误的令牌。我必须专门为 Graph API 获取一个令牌。这意味着我必须先登录,然后this.context.acquireToken()像下面这样调用:
this.context.acquireToken("https://graph.microsoft.com", function (error, id_token) {
if (error || !id_token) {
console.log('ADAL error occurred: ' + error);
}
else {
this.graphAccessToken = id_token;
//Call graph API
}
}.bind(this)
);
Run Code Online (Sandbox Code Playgroud)
看来这个过程有 2 次调用是很重要的。也许有人可以阐明我是否可以在登录时立即获取具有 Graph API 范围的令牌。也许可以通过在 Azure AD 中设置应用程序所需的权限来实现。
| 归档时间: |
|
| 查看次数: |
4097 次 |
| 最近记录: |