值得信赖的客户
Trusted clients
我需要使用 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)
但是我怎样才能预先注册我所有的客户,以便他们自动确认?
可以通过以下方式解决:
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
来判断客户端是否受信任,如果是,则 return 授权响应。
我需要使用 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)
但是我怎样才能预先注册我所有的客户,以便他们自动确认?
可以通过以下方式解决:
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
来判断客户端是否受信任,如果是,则 return 授权响应。