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
在此处输入此答案以便能够将问题标记为已回答。