Python authlib flask - 如何正确执行密码授予流程?
Python authlib flask - how to do password grant flow correctly?
我有“密码授予流程”登录,authlib flask 集成运行良好:
@app.route('/login', methods=('GET', 'POST'))
def login():
if request.method == 'GET':
return render_template('login.html')
else:
try:
token = oauth.myOauth2.fetch_access_token(username=request.form.get('username'),
password=request.form.get('password'))
except OAuthError as e:
if e.description:
flash(e.description)
return render_template('login.html')
raise
但是,在 previous question 中,我被建议不要像这样使用 fetch_access_token
,因为它没有记录用于烧瓶集成,而是使用 authorize_access_token
。这失败并出现错误 werkzeug.exceptions.BadRequestKeyError: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand. KeyError: 'code'
那么使用 flask 集成进行“密码授予流程”的正确方法是什么?
欢迎任何建议。
郑重声明,@lepture 在上面的评论中确认可以使用 fetch_access_token
。
在此处输入此答案以便能够将问题标记为已回答。
我有“密码授予流程”登录,authlib flask 集成运行良好:
@app.route('/login', methods=('GET', 'POST'))
def login():
if request.method == 'GET':
return render_template('login.html')
else:
try:
token = oauth.myOauth2.fetch_access_token(username=request.form.get('username'),
password=request.form.get('password'))
except OAuthError as e:
if e.description:
flash(e.description)
return render_template('login.html')
raise
但是,在 previous question 中,我被建议不要像这样使用 fetch_access_token
,因为它没有记录用于烧瓶集成,而是使用 authorize_access_token
。这失败并出现错误 werkzeug.exceptions.BadRequestKeyError: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand. KeyError: 'code'
那么使用 flask 集成进行“密码授予流程”的正确方法是什么?
欢迎任何建议。
郑重声明,@lepture 在上面的评论中确认可以使用 fetch_access_token
。
在此处输入此答案以便能够将问题标记为已回答。