我正在使用bshaffer/oauth2-server-php库来实现oauth2服务器。
目前,我正在使用访问令牌对每个请求进行身份验证,并在访问令牌过期时刷新令牌,因此如果刷新令牌未过期,则服务器返回新的访问令牌。如果刷新令牌已过期,则返回以下错误: {“error”:“invalid_grant”,“error_description”:“刷新令牌已过期”} ,然后在客户端用户自动注销。
我想用Oauth2实现标准的“PHP会话超时”。因此,我的令牌在上次请求后的XX分钟后将无效(如果同时没有请求),这意味着我将在每个XX分钟的请求中延长我的令牌的有效期。
我希望刷新令牌的到期时间与我的上一个请求一致,因此在用户不活动的XX分钟后将返回先前的错误。谁能告诉我实现这个的最佳做法是什么?我想在每个请求的头文件中发送刷新令牌,并在数据库中手动延长它的过期时间,但不知道这是否足够安全。
这是由Oauth2处理的,还是不应该在使用API调用的系统上实现?
另外,我感兴趣的是如何在oauth2中处理这种情况?
提前致谢。
答案 0 :(得分:0)
这不是OAuth2的工作方式。
OAuth2不关心您的会话或用户或其他任何内容。它所做的只是发出一个有效的可配置时间的令牌。 OAuth2执行应用程序级授权,与用户会话无关。
答案 1 :(得分:0)
虽然做一个你想做的事情不是一个好主意。但是有两种方法可以实现注销功能: