Azure应用服务:身份验证后,我的请求标头中缺少OAuth访问和刷新令牌

cngwdvgl  于 2023-06-05  发布在  其他
关注(0)|答案(1)|浏览(240)

我正在使用Azure应用服务部署一个Web应用程序,该应用程序需要代表用户对API(也已部署为应用服务)进行授权。
根据我所遵循的各种教程,在设置Azure AD身份验证后,应该可以从/.auth/me端点访问以下令牌,并将其作为请求的标头传递:

X-MS-TOKEN-AAD-ID-TOKEN
X-MS-TOKEN-AAD-ACCESS-TOKEN
X-MS-TOKEN-AAD-EXPIRES-ON
X-MS-TOKEN-AAD-REFRESH-TOKEN

但是,我只收到X-MS-TOKEN-AAD-ID-TOKEN。
我已经添加了offline_access作用域,以访问应用上的刷新令牌,以及API://<API_ID>/user_impersonation作用域。我还配置了应用程序和API之间的访问权限。

lbsnaicq

lbsnaicq1#

对于任何人来这与同样的问题,原因是我的IDP没有访问我的客户机密;我在应用服务之前创建了应用注册,而不是同时创建了应用注册。因此,客户端密钥没有存储为MICROSOFT_PROVIDER_AUTHENTICATION_SECRET应用程序设置,也没有自动应用到我添加到应用程序服务的身份提供程序。
为了解决这个问题,我采取了以下步骤:
1.从我的应用注册生成了新的客户端密码
1.已将其复制到名为MICROSOFT_PROVIDER_AUTHENTICATION_SECRET的应用程序设置中
1.转到我的应用服务的身份验证面板,并单击我的身份提供程序上的Edit图标
1.将客户端密码设置名称设置为MICROSOFT_PROVIDER_AUTHENTICATION_SECRET
保存这些设置后,我现在可以访问完整的标题集。

相关问题