我正在尝试使用以下教程获取Auth Token: https://docs.microsoft.com/en-us/azure/active-directory/active-directory-protocols-oauth-code
重要的是我没有提供“资源”参数。根据文档,它是可选的。
我能够获得授权码,但是当我尝试使用它来获取访问令牌时,我得到了:
AADSTS50001:未提供资源标识符
根据文档资源参数只有在Auth Code请求中指定时才需要。使用Resource param它可以正常工作,但我需要在没有它的情况下实现它。
答案 0 :(得分:1)
在原始文件OAuth 2.0 specification中,授权请求中没有资源参数。它使用范围参数。授权和令牌端点允许客户端使用“范围”请求参数指定访问请求的范围。
根据我的理解,当Azure AD实施OAuth 2.0(1.0端点)时,资源用于指定您请求哪个资源的access_token。 Azure AD将根据您在资源门户上配置的权限发出 scp 的令牌。
在v2.0端点中,Azure AD还使用范围来支持动态权限请求。更多详细信息,请参阅here。
答案 1 :(得分:0)
确保已在Azure AD中注册了应用程序重定向uri。请求上的重定向uri必须与在identityprovider上注册的重定向uri匹配。
请求:authorize?client_id=<id>&scope=<scope>&response_type=id_token token&redirect_uri=<uri>