【发布时间】:2017-06-20 22:53:00
【问题描述】:
我正在使用端点 /oauth2/token 从 Azure Active Directory 请求(通过 HTTP POST)身份验证持有者令牌。 一切都在 AAD 中设置好,以注册使用此流程检索此令牌的 Web 客户端。使用了 client_id 和 client_secret(共享对称密钥),我成功获得了包含 jwt 不记名令牌的 json 响应以进行身份验证。
我想了解的是如何配置令牌的到期时间超过 1 小时到期,这似乎在我通过此 POST 请求获得的令牌上。我在 Azure AD 经典门户中生成的共享密钥的有效期为 2 年。但是,返回的令牌有 1 小时的有效期。
基于此,我假设此流程的工作方式(至少就 AAD 而言)是我们的 Web 客户端需要安排自己在 1 小时内重新发布对新身份验证令牌的请求确保用于 Web 客户端进行的经过身份验证的 REST 调用的身份验证令牌的新鲜度的时间范围。我想如果之前发布的令牌失败然后发出新请求(这只是实现细节......),它也可能会捕获异常。
这是为该流程保持刷新身份验证令牌的正常方式吗? 我知道,对于大多数其他流程,会生成一个刷新令牌,并且可以进行 OAuth“舞蹈”以保持身份验证令牌有效。 ADAL 很好地抽象了所有这些细节,但在这种情况下,我使用客户端凭据流并使用对 oauth2/token 端点的 HTTP POST 请求,并且在此流中(根据 OAuth2 RFC)没有提供刷新令牌。 ]
我曾假设也许可以在 OAuth 令牌上配置更长的到期时间,甚至可能为这种服务器/服务器机密客户端场景配置一个无限期的令牌。 这在 Azure AD 设置中是否可行?
Azure AD token lifetime config 链接的文档表明生命周期是可配置的。
【问题讨论】:
标签: azure active-directory oauth-2.0 jwt