如何配置 Azure AD 以启用刷新令牌
How to configure Azure AD to enable refresh tokens
我有一个链接到 Azure AD 的 Azure 应用服务/Web API,身份验证工作正常,但是客户端令牌将在 1 小时后过期,所以我想启用 OAuth refresh_token。当我检查在我的服务上调用 /.auth/me 的结果时,我没有看到 refresh_token。已在应用服务上启用令牌存储。
我已尝试将其添加到 Azure AD 清单中的 oauth2permissions
,但它没有出现(我已重新启动 App 服务并重新部署我的服务以防令牌缓存) :
"oauth2Permissions": [
{
"adminConsentDescription": "Allow the application to store a refresh token on behalf of the signed-in user.",
"adminConsentDisplayName": "Refresh tokens",
"id": "3AGH4D29-B64A-4A9A-8DBC-5DB3C8BBBD75",
"isEnabled": true,
"type": "User",
"userConsentDescription": "Allow the application to store a refresh token on your behalf.",
"userConsentDisplayName": "Store refresh token",
"value": "refresh_token"
}
]
我的尝试基于此处给出的指导:
https://cgillum.tech/2016/03/07/app-service-token-store/
我使用此处的指导解决了这个问题:https://cgillum.tech/2016/03/25/app-service-auth-aad-graph-api/
基本上你必须更新你的应用程序服务的授权设置。而且它没有 UI,所以我使用了 azure 资源浏览器。
关键是将 additionalLoginParams 值设置为 ["response_type=code id_token", "resource=https://graph.windows.net"]
。
我有一个链接到 Azure AD 的 Azure 应用服务/Web API,身份验证工作正常,但是客户端令牌将在 1 小时后过期,所以我想启用 OAuth refresh_token。当我检查在我的服务上调用 /.auth/me 的结果时,我没有看到 refresh_token。已在应用服务上启用令牌存储。
我已尝试将其添加到 Azure AD 清单中的 oauth2permissions
,但它没有出现(我已重新启动 App 服务并重新部署我的服务以防令牌缓存) :
"oauth2Permissions": [
{
"adminConsentDescription": "Allow the application to store a refresh token on behalf of the signed-in user.",
"adminConsentDisplayName": "Refresh tokens",
"id": "3AGH4D29-B64A-4A9A-8DBC-5DB3C8BBBD75",
"isEnabled": true,
"type": "User",
"userConsentDescription": "Allow the application to store a refresh token on your behalf.",
"userConsentDisplayName": "Store refresh token",
"value": "refresh_token"
}
]
我的尝试基于此处给出的指导: https://cgillum.tech/2016/03/07/app-service-token-store/
我使用此处的指导解决了这个问题:https://cgillum.tech/2016/03/25/app-service-auth-aad-graph-api/
基本上你必须更新你的应用程序服务的授权设置。而且它没有 UI,所以我使用了 azure 资源浏览器。
关键是将 additionalLoginParams 值设置为 ["response_type=code id_token", "resource=https://graph.windows.net"]
。