open_id
:这是一个范围,而不是响应类型。你大概是说id_token
code
: 表示应用服务在做授权码流程。它使用返回的代码将其交换为实际的访问令牌。
据我了解,您使用的是内置AppService authentication。您可能不需要更改 AppService 对您进行身份验证的方式。有一个很好的教程,但基本上你需要做的就是调用GET /.auth/me
你的 SPA 来接收令牌。如果设置正确,GET /.auth/refresh
将刷新令牌。
GET https://xxx.azurewebsites.net/.auth/me
[
{
"access_token": "...",
"expires_on": "2020-03-20T09:49:01.0000000Z",
"id_token": "ey...",
"provider_name": "aad",
"refresh_token": "...",
"user_claims": [
{
"typ": "foo",
"val": "bar"
},
...
],
"user_id": "..."
}
]
如果您真的想尝试弄乱内置身份验证,可以尝试更改此设置(取自上述“刷新”说明)。由于刷新功能,您可能仍然需要执行其中的一部分。
Azure Active Directory:在https://resources.azure.com中,执行以下步骤: 1. 在页面顶部,选择读/写。
在左侧浏览器中,导航到订阅 > 资源组 > > 提供者 > Microsoft.Web > 站点 > > 配置 > authsettings。
单击编辑。
修改以下属性。替换为您要访问的服务的 Azure Active Directory 应用程序 ID。
"additionalLoginParams": ["response_type=code id_token", "resource=<app_id>"]