首页 > 编程知识 正文

javatoken过期时间的简单介绍

时间:2024-03-07 18:23:40 阅读:332215 作者:ORKZ

本文目录一览:

java jwt如何刷新过期时间

客户端

auth_header = JWT.encode({ user_id: 123, iat: Time.now.to_i, # 指定token发布时间 exp: Time.now.to_i + 2 # 指定token过期时间为2秒后,2秒时间足够一次HTTP请求,同时在一定程度确保上一次token过期,减少replay attack的概率;}, "my shared secret")

RestClient.get("", authorization: auth_header)

服务端

class ApiController ActionController::Base

attr_reader :current_user

before_action :set_current_user_from_jwt_token

def set_current_user_from_jwt_token

# Step 1:解码JWT,并获取User ID,这个时候不对Token签名进行检查

# the signature. Note JWT tokens are *not* encrypted, but signed.

payload = JWT.decode(request.authorization, nil, false) # Step 2: 检查该用户是否存在于数据库

@current_user = User.find(payload['user_id'])

# Step 3: 检查Token签名是否正确.

JWT.decode(request.authorization, current_user.api_secret)

# Step 4: 检查 "iat" 和"exp" 以确保这个Token是在2秒内创建的.

now = Time.now.to_i if payload['iat'] now || payload['exp'] now # 如果过期则返回401

end

rescue JWT::DecodeError

# 返回 401

endend

java微信的accesstoken怎么嫒缓竺小时更新

微信接口获取的access token 有效期是7200秒,很简单的方法就是你获取到之后,缓存到redis中,设置过期时间不超过7200秒,然后每当需要使用的时候先去redis拿,如果拿到了就直接用,没拿到就说明已经过期了,就再去微信获取一个新的,缓存到redis中

java 如何判断传过来的token是否过期

简单的就是把token放到session里,如果会话过期,token也就会过期

使用的时候只要判断当前会话是否有效,token是否与客户端传过来的token等就可以了

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。