keystone.auth.plugins.token 模块¶
- class keystone.auth.plugins.token.Token[source]¶
-
- authenticate(auth_payload)[source]¶
验证用户并返回身份验证上下文。
- 参数:
auth_payload (dict) – 给定方法身份验证请求的有效载荷内容
如果成功,插件必须在
response_data中设置user_id。method_name用于传递任何额外的身份验证方法,以防身份验证用于重新限定范围。 例如,如果身份验证用于重新限定范围,插件必须将之前的 method name 追加到method_names中;注意:此行为仅适用于重新限定范围类型的操作。 以下是成功身份验证时response_data的示例{"methods": ["password", "token"], "user_id": "abc123"}
插件的调用顺序与
identity对象的methods属性中指定的顺序相同。 例如,custom-plugin在以下身份验证请求中,先于password调用,而password又先于token调用{ "auth": { "identity": { "custom-plugin": {"custom-data": "sdfdfsfsfsdfsf"}, "methods": ["custom-plugin", "password", "token"], "password": { "user": {"id": "s23sfad1", "password": "secret"} }, "token": {"id": "sdfafasdfsfasfasdfds"}, } } }
- 返回值:
如果身份验证成功,AuthHandlerResponse 的 status 设置为
True。 如果 status 为False并且是多步身份验证,则response_body可以采用字典形式,用于身份验证的下一步。- 引发:
keystone.exception.Unauthorized – 身份验证失败
- keystone.auth.plugins.token.token_authenticate(token: TokenModel) dict[str, Any][source]¶