ConsulManager/flask-consul/units/token_auth.py

21 lines
646 B
Python
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

from flask_httpauth import HTTPTokenAuth
from itsdangerous import TimedJSONWebSignatureSerializer
from units import consul_kv
from units.config_log import *
secret_key = consul_kv.get_value('ConsulManager/assets/secret/skey')['sk']
s = TimedJSONWebSignatureSerializer(secret_key,expires_in=28800)
auth = HTTPTokenAuth()
@auth.verify_token
def verify_token(token):
try:
data = s.loads(token)
except Exception as e:
logger.error(f"【login】认证异常,{e}")
return False
return True
@auth.error_handler
def unauthorized():
return {"code": 50000, "data": f"403认证异常请重新登录"}, 200