Sha*_*mir 5 python jwt flask-login flask-restful
我有一个带有2个蓝图的烧瓶应用程序。认证蓝图和事件蓝图。这就是他们的结构
`app/
auth_blueprint/
init.py
views.py
model.py
events_blueprint/
init.py
model.py
views.py
`
Run Code Online (Sandbox Code Playgroud)
auth_blueprint处理用户事件。登录,注册等。我的问题是,登录后如何访问从auth_blueprint生成的令牌,并在events_blueprint中使用它来保护其他端点?
在auth_blueprint下的视图中,身份验证代码为
@authenticate.verify_password
def verify_password(username_or_token, password):
# first try to authenticate by token
user = models.User.verify_auth_token(username_or_token)
if not user:
# try to authenticate with username/password
user = models.User.query.filter_by(username = username_or_token).first()
if not user or not user.verify_password(password):
return False
g.user = user
import pdb; pdb.set_trace() #debugger
return True
#login user
@auth.route('/api/v1/auth/login')
@authenticate.login_required
def login():
token = g.user.generate_auth_token()
return jsonify({ 'token': token.decode('ascii') })
#return jsonify({'Welcome':'Login Okay'}),200
Run Code Online (Sandbox Code Playgroud)
当我尝试在events_blueprint下的视图中访问g时出现错误g没有属性用户
@events.route('/api/v1/user')
def getloggeduser():
print(g)
import pdb; pdb.set_trace()
return g
Run Code Online (Sandbox Code Playgroud)
PS:那是出于测试目的。我只对获取存储在g中的用户对象感兴趣,后来又从那里检索到一个userid。
我正在使用jwt进行基于令牌的身份验证。让我知道是否需要澄清。谢谢
归档时间: |
|
查看次数: |
424 次 |
最近记录: |