【发布时间】:2019-11-06 03:17:56
【问题描述】:
我有一个 Angular 6+ 网络应用程序。网页通过 Microsoft ADAL 向 Azure Active Directory 发出请求,以使用户通过身份验证。身份验证用户的流程工作正常。用户从 Azure Active Directory 获取登录页面。身份验证成功后,我得到一个访问令牌 (JWT)。
我面临的问题是,令牌的到期时间为 1 小时。由于令牌到期,用户会在一小时后自动注销。为了避免这种情况,我正在尝试刷新令牌。
我阅读了以下 URL 并了解刷新令牌可用于刷新令牌。这是 OAuth 2.0 授权代码流程。
https://docs.microsoft.com/en-us/dotnet/api/microsoft.identitymodel.clients.activedirectory.authenticationcontext.acquiretokensilentasync?view=azure-dotnet
但是,在我实施的流程中,我没有看到在响应标头中发送了“refresh_token”。以下是我在响应标头中看到的值。
adal.expiration.key
adal.access.token.key
adal.session.state
adal.login.request.
appLanguage
adal.token.keys
adal.error
adal.error.description
adal.state.login
authToken
userid
module
adal.token.renew.status
adal.nonce.idtoken
adal.login.error
adal.idtoken
我在 SO 中写了很多文章和问题,但我不明白如果我让用户通过 Azure Active Directory 进行身份验证,我如何获得刷新令牌。
编辑:
我在 SO 中添加了以下类似的问题。由于该线程是在 2016 年编写的,因此我无法弄清楚如何设置其中提到的“身份验证设置”。
https://stackoverflow.com/questions/36320641/how-to-configure-azure-ad-to-enable-refresh-tokens
【问题讨论】: