keystoneclient.v3.contrib.oauth1 包

子模块

keystoneclient.v3.contrib.oauth1.access_tokens 模块

class keystoneclient.v3.contrib.oauth1.access_tokens.AccessToken(manager, info, loaded=False)

基类: Resource

class keystoneclient.v3.contrib.oauth1.access_tokens.AccessTokenManager(client)

基类: CrudManager

用于操作身份 OAuth 访问令牌的管理类。

create(consumer_key, consumer_secret, request_key, request_secret, verifier)
resource_class

别名为 AccessToken

keystoneclient.v3.contrib.oauth1.auth 模块

class keystoneclient.v3.contrib.oauth1.auth.OAuth(auth_url, *args, **kwargs)

继承自 AuthConstructor

class keystoneclient.v3.contrib.oauth1.auth.OAuthMethod(**kwargs)

继承自 AuthMethod

基于 OAuth 的认证方法。

参数:
  • consumer_key (string) – 消费者密钥。

  • consumer_secret (string) – 消费者密钥。

  • access_key (string) – 访问令牌密钥。

  • access_secret (string) – 访问令牌密钥。

get_auth_data(session, auth, headers, **kwargs)

返回身份验证插件的身份验证部分。

参数:
  • session (keystoneclient.session.Session) – 通信会话。

  • auth (base.Auth) – 调用该方法的认证插件。

  • headers (dict) – 将与身份验证请求一起发送的标头(如果插件需要添加标头)。

返回值:

此插件的标识符和用于身份验证类型的字典数据。

返回类型:

tuple(string, dict)

keystoneclient.v3.contrib.oauth1.consumers 模块

class keystoneclient.v3.contrib.oauth1.consumers.Consumer(manager, info, loaded=False)

基类: Resource

表示一个 OAuth 消费者。

属性
  • id: 标识消费者的 uuid

  • description: 消费者的简短描述

class keystoneclient.v3.contrib.oauth1.consumers.ConsumerManager(client)

基类: CrudManager

用于操作身份消费者的管理类。

base_url = '/OS-OAUTH1'
collection_key = 'consumers'
create(description=None, **kwargs)
delete(consumer)
get(consumer)
key = 'consumer'
resource_class

别名为 Consumer

update(consumer, description=None, **kwargs)

keystoneclient.v3.contrib.oauth1.core 模块

class keystoneclient.v3.contrib.oauth1.core.OAuthManager(api)

基类: object

class keystoneclient.v3.contrib.oauth1.core.OAuthManagerOptionalImportProxy

基类: object

在未安装 oauthlib 的情况下充当代理管理器。

仅当系统中未安装 oauthlib 时才会创建此类,尝试访问 name 中的任何属性(access_tokens、consumers、request_tokens)将导致 NotImplementedError 和一条消息。

>>> manager.access_tokens.blah
NotImplementedError: To use 'access_tokens' oauthlib must be installed

否则,如果尝试访问 name 中的属性以外的其他属性,管理器将表明该属性不存在。

>>> manager.dne.blah
AttributeError: 'OAuthManagerOptionalImportProxy' object has no
attribute 'dne'
keystoneclient.v3.contrib.oauth1.core.create_oauth_manager(self)

keystoneclient.v3.contrib.oauth1.request_tokens 模块

class keystoneclient.v3.contrib.oauth1.request_tokens.RequestToken(manager, info, loaded=False)

基类: Resource

authorize(roles)
class keystoneclient.v3.contrib.oauth1.request_tokens.RequestTokenManager(client)

基类: CrudManager

用于操作身份 OAuth 请求令牌的管理类。

authorize(request_token, roles)

使用特定角色授权请求令牌。

使用 Identity API 操作:PUT /OS-OAUTH1/authorize/$request_token_id

参数:
  • request_token – 将被授权的请求令牌,可用于交换访问令牌。

  • roles – 将委派给用户的角色列表。

create(consumer_key, consumer_secret, project)
resource_class

别名为 RequestToken

keystoneclient.v3.contrib.oauth1.utils 模块

keystoneclient.v3.contrib.oauth1.utils.get_oauth_token_from_body(body)

解析 URL 响应体以检索 oauth 令牌密钥和密钥。

响应体将类似于:‘oauth_token=12345&oauth_token_secret=67890’,并且可能还包含 ‘oauth_expires_at=2013-03-30T05:27:19.463201’。

模块内容