V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yantianqi
V2EX  ›  程序员

前端, token 和 refreshToken 疑问

  •  
  •   yantianqi · Jul 13, 2020 · 3287 views
    This topic created in 2125 days ago, the information mentioned may be changed or developed.

    token 和 refreshToken 存于 cookie 中

    token 两小时有效,refreshToken 7 天有效

    token 失效后 refreshToken 刷新 token

    如果用户操作中 refreshToken 失效了,如何判断呢?区别于用户第一次进入的未登录?

    9 replies    2020-07-13 13:15:45 +08:00
    rioshikelong121
        1
    rioshikelong121  
       Jul 13, 2020
    后端判断吧。 后端可以区分 refresh token 的时间过期 和 cookie 中不包含 token 和 refresh token 的情况(未登录)。
    FinnBai
        2
    FinnBai  
       Jul 13, 2020
    刷新 token 时发现 refreshToken 也失效,则清除前端登录状态,让用户重新登录
    sunxiansong
        3
    sunxiansong  
       Jul 13, 2020
    判断逻辑和后端协商啊,给个确定的状态码给个错误码,反正能确定是 refreshToken 失效就行
    Kyle18Tang
        4
    Kyle18Tang  
       Jul 13, 2020
    两个都失效后端就应该返回 401,你前端判断 HTTP 状态就可以了。
    nvkou
        5
    nvkou  
       Jul 13, 2020 via Android
    你把各种 token 用点.分割开,把第二部分用 base64 解码。里面就有过期时间
    liuzhaowei55
        6
    liuzhaowei55  
       Jul 13, 2020 via iPhone
    refresh_token 不应该每次传吧,应该第一次授权获得了 refresh_token 然后存储本地,当服务器返回 access_token 过期的时候,用 refresh_token 去刷新 access_token,我是这样理解的,一般情况下服务器也会顺带刷新 refresh_token 的过期时间。
    kop1989
        7
    kop1989  
       Jul 13, 2020
    1 、token,refreshToken 是否失效应该交由后台判断,不应你来判断。
    2 、在不刷新 token 的场景下,应该是无法发现 refreshToken 失效的,如果发现了,那这个 refreshToken 的业务意义就很让人不解。
    3 、在 1 和 2 的前提下,也就是刷新 token 才发现 refreshtoken 失效,那么应该不存在你的问题。(因为未登录是不会通过 refreshToken 刷新 token 的)。
    LeeSeoung
        8
    LeeSeoung  
       Jul 13, 2020
    都让后端判断,前端只管解析后端返回的是否有效凭据
    hantsy
        9
    hantsy  
       Jul 13, 2020
    用 OAuth2 标准的话,前端大把 OAuth2 封装( Angular,react ),更简单的就是用 Auth0,Okta 等。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4192 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 59ms · UTC 04:16 · PVG 12:16 · LAX 21:16 · JFK 00:16
    ♥ Do have faith in what you're doing.