代码之家  ›  专栏  ›  技术社区  ›  Denis Steinman

可信客户端

  •  0
  • Denis Steinman  · 技术社区  · 6 年前

    我需要使用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)
    

    但是我怎样才能预先注册我所有的客户,他们会自动确认?

    1 回复  |  直到 6 年前
        1
  •  1
  •   lepture    6 年前

    可以通过以下方法解决:

    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 若要判断客户机是否受信任,请返回授权响应。

    推荐文章