尝试按照微软的说明获取访问令牌。但是我收到错误,因为没有解决方案的答案。 我做错了什么,这对我的情况意味着什么? 要求: https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize *auth_code:client_id&response_type&redirect_uri&response_mode&范围&code_challenge&code_challenge_method。
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token *获取访问令牌:client_id&范围&代码&redirect_uri&grant_type&code_verifier&client_secret。(内容类型:application / x-www-form-urlencoded) 在这两种情况下,redirect_uri == 是相同的。
在第一个请求中,可以获取 auth_code,但是当我尝试使用此 auth_code 获取访问令牌时,我得到:错误“AADSTS700025”客户端是公共的,因此不应显示“client_assertion”和“client_secret”。 但我使用 client_secret 而不是 client_assertion_type 和 client_assertion。 按照微软的说明进行操作...
我猜测这是一个“SPA”类型“平台”(在您的 AAD/Azure AD 应用程序注册中添加),或者其他“公共客户端”之一?
它可能告诉您服务器不想处理/信任正在处理/了解(潜在/更可能受影响)秘密(例如“client_secret”和“client_assertion”值)的“public”客户端。 例如如果这是“私人/机密客户端”,您可以添加(并配置)“Web”类型“平台” - 因为它被信任可以处理机密,并且理论上该错误将不再发生。