gpt4 book ai didi

angular - JWT token 中缺少 ADAL Angular2 appid(未经授权的响应)

转载 作者:行者123 更新时间:2023-12-03 04:25:37 25 4
gpt4 key购买 nike

我在 Agular2 项目中使用 ADAL 库根据 Azure AD 对用户进行身份验证,一旦用户通过身份验证,就会调用 WebAPI 以使用 REST 调用获取一些信息。所有这些都可以在 AngularJS-AzureAD-WebAPI 场景中正常工作。

按照 MS 文章创建示例项目 https://blogs.msdn.microsoft.com/premier_developer/2017/04/26/using-adal-with-angular2

WebAPI 接收来自 Angular2 项目的调用,但是请求具有匿名授权 token 。经过进一步研究,意识到 JWT 缺少 appid 值,并且 aud 属性还保存 GUID,即应用程序 ID。

工作调用 JWT:(AngularJS 到 WebAPI)

appid:在 Azure 中注册的 native 应用程序的 GUID
aud:someone.onmicrosoft.com/CortanaWebAPI

无法调用 JWT:(Angular2 到 webAPI)

appid:此属性没有条目
aud:在 Azure 中注册的 native 应用程序的 GUID

广告配置

const endpoints = {
“https://localhost:44383/”: “http://someone.onmicrosoft.com/CortanaWebAPI”
};
public get getAdalConfig(): any {
return {
tenant: ‘someone.onmicrosoft.com’,
clientId: ‘9d9cd8dd-087a-4e87-b3f9-6e7ded2b5e82’,
redirectUri: window.location.origin + ‘/’,
postLogoutRedirectUri: window.location.origin + ‘/’,
endpoints: endpoints
};
}

不确定为什么会发生这种情况,感谢任何帮助。

最佳答案

该问题与您正在开发的客户端类型无关。这取决于您正在开发哪种 token (id_token 或 access_token)。

据我所知,没有 appid 声明仅在 access_token 中发出。要解决此问题,您需要获取 access_token 而不是 id_token。当您发送 token 请求时,aud 声明取决于资源范围 参数。请在您的Web API项目中配置相应的aud

关于angular - JWT token 中缺少 ADAL Angular2 appid(未经授权的响应),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43795179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com