refresh token的组成部分解释?

我用在线的工具很容易解码access token,里面包含header payload 和signxxxx.但是refresh token好像不是base64格式的,不能用在线工具解码出来, 请问refresh token是加密的吗?是什么格式的?有哪些组成部分?分别是干什么用的?存在localstorage里面可以被翻译成明文吗?

阅读 3.8k
2 个回答

看起来,你应该是说的 JWT 中的 Refresh Token ,根据 RFC 7519 - JSON Web Token (JWT) ,其中并没有对 Refresh Token 进行定义,也就是说是可以自行实现的。

refresh_token 是 OAuth2.0 中的概念,但是 RFC 6749 - The OAuth 2.0 Authorization Framework 中对于 refresh_token 也并没有要求其按照何种格式编码,鉴于 OAuth2 是有状态的授权,则可以随便生成,只要能识别即可。

所以,这里什么都有可能,重要的是能在使用时被后端识别。

首先,理论上讲,与客户端交互,accessToken & refreshToken都是要加密的,不能随意被客户端解密查看信息,只能在有秘钥的后端服务才能解密查看。

基于安全性,信息不能放在localStorage,有被XSS盗用的风险,间接获取到accessToken。建议放在session或是内存中。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进