首页 > 解决方案 > 如何使用自动刷新令牌授予实现 OAuth2 代码流

问题描述

我们刚刚开始使用 ASP.NET Web API 2 并实现了OAuth2客户端凭据令牌授予、资源所有者令牌授予(用于内部应用程序)以及第三方供应商的代码流令牌授予

对于代码流,当将刷新令牌交换为新的访问令牌和刷新令牌时,原始令牌将从令牌存储中删除并因此失效。资源所有者还可以随时撤销访问令牌及其关联的刷新令牌。

我们的供应商之一将遵循代码流授权,因为要求资源所有者或代表授权访问资源服务器。

供应商随后要求主机服务器自动为每个请求提供一个新的访问令牌和刷新令牌,而不是用正常流程将刷新令牌兑换为新的访问令牌和刷新令牌。

除了为请求提供服务之外,主机 API 还回调客户端域上的预定端点,该端点将提供新的访问令牌和刷新令牌。

不用说,这样的安排在主机 API 中引入了复杂性,它会破坏短期令牌和长期刷新令牌的全部意义,我们可能会实施其他措施来防止令牌劫持和其他类型的攻击。

目前我们的授权服务器和资源服务器是一体的。但是,我们希望将来保持选项打开以将授权服务器与资源分开。

那么问题来了:

  1. 我们应该考虑这种安排吗?
  2. 调整到永不过期的访问令牌而不用令牌请求发出刷新令牌是否有意义?

标签: oauth-2.0refresh-token

解决方案


推荐阅读