我们刚刚开始使用ASP.NET Web API 2,并实现了 OAuth2 客户端凭据令牌授予,资源所有者令牌授予(用于内部应用程序)和代码流令牌授予第三方供应商。
对于代码流,当将刷新令牌交换为新的访问令牌和刷新令牌时,会将原始令牌从令牌存储中删除,从而使令牌无效。资源所有者还可以随时撤消访问令牌及其关联的刷新令牌。
我们的供应商之一将遵循代码流授权,因为要求资源所有者或代表授权对资源服务器的访问。
供应商随后请求代替正常流程来为新的访问令牌和刷新令牌兑换刷新令牌,主机服务器自动提供新的访问令牌和刷新令牌每个请求。
除了为请求提供服务外,主机API还会回调到客户端域上的预定端点,该端点将提供新的访问令牌和刷新令牌。
毋庸置疑,这种安排会在主机API中引入复杂性,并且将使短期令牌和较长刷新令牌的意义不复存在,我们可能会采取其他措施来防止令牌劫持和其他类型的攻击。攻击。
当前,我们的授权服务器和资源服务器是一台相同的服务器。但是,我们希望保持该选项处于打开状态,以便将来将授权服务器与资源分开。
然后出现的问题: