azure - 有人可以解释一下 Azure AD 应用程序访问和刷新 token 的超时和验证吗?

标签 azure azure-active-directory azure-web-app-service

  1. 我们可以使用相同的访问 token 来请求另一个应用程序资源或验证 token 吗? access_token 3599 秒后会发生什么?我们还可以使用它吗?
  2. 我们可以使用同一个刷新 token 多少次? (如果可以的话有什么办法限制为一次)
  3. 如何检查现有的access_token和refresh_token是否有效?

请帮忙。

帕万赛C

最佳答案

  1. Can we use the same access token to request another app resource or validate Token. What happens after 3599 seconds to an access_token? can we still use it?

当您获取访问 token 时,它仅用于某些资源(您在请求 token 时指定它们)。您不能将该 token 用于任何其他资源。通常,访问 token 的有效期为一小时(3600 秒),但这可以在 Azure AD 级别进行配置。一旦该时间段到期,您将无法再使用该 token ,因为使用它会引发错误。

  1. How many times we can use the same refresh token? (Is there any way to restrict to one time if possible)

与访问 token 类似,刷新 token 也有绝对过期时间(通常为 14 天)。当您使用刷新 token 获取新的访问 token 时,您还会获得新的刷新 token 。您应该使用新的刷新 token 而不是旧的。

  1. How to check if the existing access_token and refresh_token were valid ones or not?

一个successful response访问 token 请求将包括返回的访问 token 有效的秒数 (expires_in) 以及访问 token 过期的时间 ​​(expires_on) )。使用它们来跟踪访问 token 是否仍然有效。

注意:您应该考虑使用客户端库,例如 MSAL ,它将自动执行此操作。您的代码只需要请求一个新的 token ,库将负责确定收到的最后一个 token 是否仍然有效,或者是否需要一个新的 token 。

另一种可能的测试方法是尝试在操作中使用 access_token/refresh_token 并捕获异常。尝试解析异常以找出 token 出了什么问题。例如,如果访问 token 已过期并且您使用它,您将收到一条错误消息,准确地告诉您这一点。这将指示您使用刷新 token 获取新的访问 token 。 (此方法依赖于资源提供者(即 API)返回一条消息,明确指示 token 已过期,但情况并非总是如此。)

关于azure - 有人可以解释一下 Azure AD 应用程序访问和刷新 token 的超时和验证吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60374311/

相关文章:

azure - 错误 : The specified registry key does not exist. 尝试使用网络凭据连接到 TFS 2012。

使用 Powershell 中的资源管理器 Azure 发布 Web 应用程序

c# - Azure 移动服务和 Asp.net 身份架构

azure - Azure 数据工厂中的复制事件

azure-active-directory - 具有不同受众的 Azure AD 范围

azure - “AADSTS50034 : To sign into this application the account must be added to the <GUID> directory

azure-web-app-service - 在交换期间防止登台站点重新启动

azure - Key Vault - 防火墙和虚拟网络 : Existing virtual network is not authorized

node.js - 使用 docker 镜像的 Azure Linux 应用服务中的 Mongo 连接错误

powershell - 检索 Azure 服务主体证书