后端判断token过期代码示例
时间: 2023-07-27 17:13:35 浏览: 65
在后端判断 token 是否过期的方法通常有两种:
1. 使用 JWT(JSON Web Token)实现的 token
使用 JWT 的 token 需要在生成 token 时设置过期时间(exp),后端可以通过解码 token 来获取 exp,然后与当前时间比较来判断 token 是否过期。示例代码如下:
```python
import jwt
import time
def is_token_expired(token):
try:
decoded_token = jwt.decode(token, 'secret_key', algorithms=['HS256'])
exp = decoded_token.get('exp')
if exp:
return exp < time.time()
else:
return True
except:
return True
```
2. 使用服务器端存储的 token 过期时间
另一种方法是在服务器端存储 token 和它的过期时间,然后在每次请求时比较当前时间和过期时间。示例代码如下:
```python
import time
def is_token_expired(token):
# 获取 token 过期时间
expiration_time = get_token_expiration_time(token)
if expiration_time:
# 比较当前时间和过期时间
return time.time() > expiration_time
else:
return True
```
这里的 `get_token_expiration_time` 函数需要根据具体的实现进行编写,它可以从数据库或缓存中获取 token 的过期时间。