我正在开发一个与我的IOS App一起使用的API,我很好奇在oAuth2中使用刷新令牌的最佳做法。我正在使用用户密码授予来生成访问令牌和刷新令牌。
如果令牌每60分钟到期,则表示客户端必须每60分钟进行3次连续的API调用:1。使用访问令牌从API获取资源,2。api以无效令牌响应,我们需要使用刷新令牌,3。现在令牌被刷新,我们需要再次尝试初始调用。
所以,我想知道的是,最好在它到期之前刷新令牌吗?或者,一旦API响应过期的令牌错误,是否更好地生成新的访问令牌?
答案 0 :(得分:1)
不确定这是一种最佳做法,但提前刷新肯定会更有效率,因为您不会提出您可能知道的请求会失败。刷新定时器的成本远低于网络通信的成本。
您仍然需要处理因任何请求而无效的令牌,因为服务器可能因任何其他原因使令牌无效,所以这真的是一个“我怎样才能使这个效率和用户友好”#39;我可以删除一些代码'之类的事情。处理错误响应是标准的,提前刷新是用户友好的。
在你有飞行请求时要小心刷新,你可能会因为令牌无效而无意中导致请求失败......