hjf*_*itz 2 oauth azure access-token oauth-2.0 single-page-application
我正在尝试通过 OAuth 对 Azure 中的 API 管理进行身份验证。我已经把那部分设置得很好了。
我在获取 ID 令牌和访问令牌 ( response_type=id_token+token
) 时发生了 OAuth2 隐式登录流程。当我检查时aud
入返回的访问令牌时,我得到默认的 Graph API aud (00000003-0000-0000-c000-000000000000),而不是我的客户端 ID,我需要使用它来通过 API 管理部分进行身份验证。
这需要保留在 OAuth 后面,因为它是一个内部应用程序,我不想向公众透露这一点。我使用隐式流,因为该网页是托管在 Blob 上的 SPA。
正如 junnas 所说,如果你想获取aud
你的 clientId,你需要为你的应用程序添加有效范围。
转到Expose a scope
在 azure ad 中注册的应用程序的 ,然后Add a scope
。
并在 url 中添加范围,如下所示:
https://login.microsoftonline.com/xxxx/oauth2/v2.0/authorize?
client_id=xxxxx
&response_type=id_token+token
&redirect_uri=https://localhost:123
&scope=openid api://xxxxxxxxxxxxxxxxxxxxxx-a3aab90df9fc/webread
&response_mode=fragment
&state=12345
&nonce=678910
Run Code Online (Sandbox Code Playgroud)
然后解码访问令牌,您将在 aud 中获得客户端 id:
归档时间: |
|
查看次数: |
2706 次 |
最近记录: |