OpenId Connect Only Token AAD

时间:2018-05-16 18:37:19

标签: azure oauth-2.0 azure-active-directory

是否可以只从AAD获取id_token?我有一个非常简单的情况,我的角度应用程序需要有用户的用户名,我的api层是敞开的。

我想我可以将我的clientid和资源设置为AAD中我的角度应用程序的clientId,但我得到了:

  

" AADSTS65005资源无效。客户已请求访问   资源未在请求的权限中列出   客户申请注册"

这是在隐式授权流程中。

--- EDIT

例如,如果我发送此初始重定向以启动隐式授权:

https://login.microsoftonline.com/{{MY-TENANT-HERE}}/oauth2/authorize?response_type={{id_token}}&client_id={{CLIENTID-HERE}}&state={{STATE-HERE}}&redirect_uri={{REDIRECTURI-HERE}}&scope={{openid profile email}}&nonce={{nonce-here}}&resource={{CLIENTID-HERE}}

产生这个:

  

" AADSTS65005资源无效。客户已请求访问   资源未在请求的权限中列出   客户申请注册"

如果我没有发送资源(IE以下请求):

  https://login.microsoftonline.com/{{MY-TENANT-HERE}}/oauth2/authorize?response_type={{id_token}}&client_id={{CLIENTID-HERE}}&state={{STATE-HERE}}&redirect_uri={{REDIRECTURI-HERE}}&scope{{openid profile email}}&nonce={{nonce-here}}

我收到一条消息,说明需要资源。所以我的问题是,我说没有后端,但我的前端需要知道用户是谁,AAD如何支持?

1 个答案:

答案 0 :(得分:1)

出现此问题的原因是您的角度应用程序可能未在Azure AD中注册,或者可能未应用正确的权限。

如果您尚未在Azure门户网站中的正确租户下尝试为Angular应用创建新的应用注册。使用访问令牌或ID令牌是访问用户配置文件的正确方法。

https://developer.microsoft.com/en-us/graph/docs/concepts/auth_overview