0

我需要使用 Authlib 在 SSO 中添加受信任的客户端。这些客户端是我系统的一部分,我不需要用户确认。现在,我使用下一个代码进行授权:

@bp.route("/oauth/authorize", methods=['GET', 'POST'])
def authorize():
    user = current_user()
    if not user:
        return redirect('/sign_in')
    if request.method == 'GET':
        grant = server.validate_consent_request(end_user=user)
        return render_template(
            "authorize.html",
            grant=grant,
            user=user
        )
    confirmed = request.form['confirm']
    if confirmed:
        # granted by resource owner
        return server.create_authorization_response(user)
    # denied by resource owner
    return server.create_authorization_response(None)

但是我如何预先注册我的所有客户,让他们自动确认?

4

1 回答 1

1

可以通过以下方式解决:

if request.method == 'GET':
    grant = server.validate_consent_request(end_user=user)
    if is_trust_client(grant.client):
        return server.create_authorization_response(user)

您可以使用grant.client. 例如,您定义一个名为 的列trusted,然后您可以使用它if grant.client.trusted来判断客户端是否受信任,如果是,则返回授权响应。

于 2018-09-19T04:58:17.567 回答