2015-09-10 40 views
3

我的web应用程序正在使用OAuth 2.0和Azure AD来验证用户身份。但是,访问令牌响应给出错误,说'无效资源'。这是因为我没有在访问令牌请求中包含'资源'参数。Azure AD OAuth 2.0无效资源

但是,基于MS Azure's授权码授权流程,资源是可选字段。

有没有一种方法可以在请求中取消该参数,并仍然能够获取访问令牌(更准确地说,我需要用户的ID_TOKEN来查看该用户是否存在于我的Web应用程序数据库中)。

一个成功的访问令牌响应应该包含基本的用户信息,这正是我所需要的,所以我根本不需要向Web API发出任何请求。

事实上,我只想保留OAuth 2.0文档中指定的必填字段,因为在我的Web应用程序中,用户可以配置为使用Google身份,MS Azure AD或任何其他支持OAuth 2.0协议的标识符提供程序。

预先感谢您。

编辑:换句话说,是否有可能告诉访问令牌请求中的Azure AD忽略'资源'?我知道Google Identity OAuth2.0没有这类字段,只需指定范围(例如电子邮件,个人资料等)就足够了。

回答

5

在授权请求中使用“openid”范围应触发OpenID Connect流程,该流程将返回id_token,并且不需要resource

+0

非常感谢。这样可行!!!这里有什么窍门。 – gye

相关问题