请问有没有必要做一个刷新 token 过期时间的接口,如果有必要,必要的理由是? 目前的做法是每次验证 token 时,如果 token 有效且未过期就会更新 token 时间。
这个取决于你的业务是否需要,没有必要一说。
例如某些业务中需要 token 作为凭证,token 的有效次数只有一次 (用完就销毁,下次需要申请新的),那么这个就不用。如果你的 token 是可以重复利用的,那么就需要。
RubyChina 的 token 就是 24 小时过期,这时需要用 refresh_token 来重新获取 token。
我使用 token 的方式类似于 session 的机制,app 用户登陆后 server 分配一个 token,假设过期时间 30 分钟,如果 30 分钟内没有操作,token 就会过期。 如果过期之前有操作就自动更新 token 过期时间,不需要 app 请求一个专门刷新 token 的接口。
不知道 app token 鉴权方式的最佳实践应该怎么做呢
https://tools.ietf.org/html/draft-ietf-oauth-v2-22#section-3.3
楼主参考 OAuth2 的标准实现即可,对你的需求来说最精准了。