keystoneclient.auth 包

子包

子模块

keystoneclient.auth.base 模块

class keystoneclient.auth.base.BaseAuthPlugin

基类: object

认证插件的基本结构。

get_connection_params(session, **kwargs)

返回插件所需的任何其他连接参数。

参数:

session (keystoneclient.session.Session) – auth_plugin 所属的会话对象。

返回值:

用于验证消息的头,或者失败的 None。请注意,空字典是一个有效的、非失败的响应。

返回类型:

dict

get_endpoint(session, **kwargs)

为客户端返回一个端点。

get_endpoint 中没有必需的关键字参数,因为插件实现应尽最大努力使用可用信息来确定端点。但是,有一些标准选项将由客户端生成,并且应由插件使用

  • service_type:所需的服务类型。

  • service_name:目录中的服务名称。

  • interface:端点应具有的可见性。

  • region_name:端点所在的区域。

参数:

session (keystoneclient.session.Session) – auth_plugin 所属的会话对象。

返回值:

将用于与所需服务通信的基本 URL,如果不可用则为 None。

返回类型:

字符串

get_headers(session, **kwargs)

获取消息的身份验证头。

这是旧的 get_token 的更通用的替代方案,允许插件指定与 OpenStack 标准“X-Auth-Token”头不同的或额外的身份验证头。

如何获取身份验证头由插件决定。如果头仍然有效,则可以重用、从缓存中检索,或者插件可以调用对服务器的身份验证请求。

get_headers 的默认实现调用 get_token 方法,以使旧式插件能够继续正常运行。子类可以自由地完全覆盖此函数以提供他们想要的头。

没有必需的 kwargs。它们直接传递给认证插件,并且是特定于实现的。

返回 None 将指示无法检索到 token,并且授权失败。可以通过返回一个空字典来实现不添加任何身份验证数据。

参数:

session (keystoneclient.session.Session) – auth_plugin 所属的会话对象。

返回值:

用于验证消息的头,或者失败的 None。请注意,空字典是一个有效的、非失败的响应。

返回类型:

dict

classmethod get_options()

返回与身份验证插件关联的参数列表。

此列表可用于生成 CLI 或配置文件参数。

返回值:

描述可用插件参数的 Param 对象列表。

返回类型:

列表

get_project_id(session, **kwargs)

返回插件认证到的项目 ID。

只要可能,项目 ID 应该从 token 推断出来,但是某些 URL 和其他地方需要访问当前认证的项目 ID。

参数:

session (keystoneclient.session.Session) – 会话对象,插件可以进行 HTTP 调用。

返回值:

一个项目标识符,如果不可用则为 None。

返回类型:

str

get_token(session, **kwargs)

获取令牌。

令牌的获取方式由插件决定。如果它仍然有效,则可以重用、从缓存中检索或调用服务器上的身份验证请求。

没有必需的 kwargs。它们直接传递给认证插件,并且是特定于实现的。

返回 None 将指示无法检索到令牌。

此函数放置不当,因为它仅应需要使用“X-Auth-Token”标头的身份验证插件。但是,由于插件的演变方式,此方法是必需的,并且通常被调用以触发新插件上的身份验证请求。

在实现新插件时,建议您实现此方法,但是,如果您不需要“X-Auth-Token”标头,请改写 get_headers 方法。

参数:

session (keystoneclient.session.Session) – 会话对象,插件可以进行 HTTP 调用。

返回值:

要使用的令牌。

返回类型:

字符串

get_user_id(session, **kwargs)

返回插件的唯一用户标识符。

只要可能,用户 ID 应该从 token 推断出来,但是某些 URL 和其他地方需要访问当前认证的用户 ID。

参数:

session (keystoneclient.session.Session) – 会话对象,插件可以进行 HTTP 调用。

返回值:

一个用户标识符,如果不可用则为 None。

返回类型:

str

invalidate()

使当前的身份验证数据失效。

这应该导致在下次调用时获取新的 token。

如果返回 Unauthorized HTTP 响应以指示 token 可能已被撤销或现在无效,则插件可能会失效。

返回值:

如果插件执行了某些操作以使其失效,则为 True。这意味着尝试再次是有意义的。如果未发生任何事情,则返回 False 以指示放弃。

返回类型:

bool

classmethod load_from_argparse_arguments(namespace, **kwargs)

从 argparse 结果加载特定的插件对象。

将解析结果转换为指定的插件。

参数:

namespace (argparse.Namespace) – CLI 解析的结果。

返回值:

一个认证插件,或者如果没有提供名称则为 None。

返回类型:

keystoneclient.auth.BaseAuthPlugin

classmethod load_from_conf_options(conf, group, **kwargs)

从 CONF 对象加载插件。

将已注册的选项转换为实际的插件。

参数:
返回值:

一个身份验证插件。

返回类型:

keystoneclient.auth.BaseAuthPlugin

classmethod load_from_options(**kwargs)

从从 get_options 获取的参数创建插件。

客户端可以覆盖此函数以进行参数验证或处理注册选项与创建插件所需的选项之间的差异。

classmethod load_from_options_getter(getter, **kwargs)

从返回适当值的 getter 函数加载插件。

为了处理除了提供的 CONF 和 CLI 加载之外的情况,您可以指定一个自定义加载器函数,该函数将被查询以获取要加载的值。

getter 是一个函数,它接受一个值,一个 oslo_config.cfg.Opt 并返回一个要加载的值。

参数:

getter (callable) – 一个返回给定 opt 值的函数。

返回值:

一个身份验证插件。

返回类型:

keystoneclient.auth.BaseAuthPlugin

classmethod register_argparse_arguments(parser)

注册特定插件提供的 CLI 选项。

给定一个插件类,将其选项转换为 argparse 参数并将其添加到解析器中。

参数:

parser (argparse.ArgumentParser) – 要附加 argparse 选项的解析器。

classmethod register_conf_options(conf, group)

注册插件所需的 oslo_config 选项。

参数:
keystoneclient.auth.base.get_available_plugin_classes()

检索系统上所有可用的插件类。

返回值:

一个字典,其中插件入口点名称作为键,插件类作为值。

返回类型:

dict

keystoneclient.auth.base.get_available_plugin_names()

获取系统上所有可用插件的名称。

这对于帮助和错误文本特别有用,例如提示用户他们可以指定哪些插件。

返回值:

一个名称列表。

返回类型:

frozenset

keystoneclient.auth.base.get_plugin_class(name)

通过入口点名称检索插件类。

参数:

name (str) – 要获取的对象的名称。

返回值:

一个认证插件类。

返回类型:

keystoneclient.auth.BaseAuthPlugin

引发:

keystoneclient.exceptions.NoMatchingPlugin – 如果无法创建插件。

keystoneclient.auth.cli 模块

keystoneclient.auth.cli.load_from_argparse_arguments(namespace, **kwargs)

从完成的 argparse 结果中检索创建的插件。

从 argparse 解析的命令行信息加载并创建认证插件。

参数:

namespace (Namespace) – CLI 解析的结果。

返回值:

一个认证插件,或者如果没有提供名称则为 None。

返回类型:

keystoneclient.auth.BaseAuthPlugin

引发:

keystoneclient.exceptions.NoMatchingPlugin – 如果无法创建插件。

keystoneclient.auth.cli.register_argparse_arguments(parser, argv, default=None)

注册创建插件所需的 CLI 选项。

该函数检查提供的参数,以便如果可用,它还可以注册该特定插件所需的选项。

参数:
  • argparse.ArgumentParser – 要附加 argparse 选项的解析器。

  • argv (List) – 提供给应用程序的参数。

  • default (str/class) – 如果 CLI 中未指定,则使用的默认插件名称或插件对象。默认值:None。

返回值:

将要加载的插件类或未提供时为 None。

返回类型:

keystoneclient.auth.BaseAuthPlugin

引发:

keystoneclient.exceptions.NoMatchingPlugin – 如果无法创建插件。

keystoneclient.auth.conf 模块

keystoneclient.auth.conf.get_common_conf_options()

获取所有身份验证插件通用的 oslo_config 选项。

这些可能对配置文件的生成或用于在注册它们之前操作选项很有用,而无需注册。

设置的选项是
auth_plugin:

要加载的插件的名称。

auth_section:

要从中加载选项的配置文件部分。

返回值:

一个 oslo_config 选项列表。

keystoneclient.auth.conf.get_plugin_options(name)

获取特定插件的 oslo_config 选项。

这将是注册并由指定插件加载的配置选项列表。

返回值:

一个 oslo_config 选项列表。

keystoneclient.auth.conf.load_from_conf_options(conf, group, **kwargs)

从 oslo_config CONF 对象加载插件。

每个插件都会注册他们自己需要的选项,因此没有标准的列表,应该咨询插件。

在调用此函数之前,基本选项应该使用 register_conf_options 注册。

参数:
返回值:

一个认证插件,或者如果没有提供名称则为 None

返回类型:

keystoneclient.auth.BaseAuthPlugin

引发:

keystoneclient.exceptions.NoMatchingPlugin – 如果无法创建插件。

keystoneclient.auth.conf.register_conf_options(conf, group)

注册插件所需的 oslo_config 选项。

这仅注册所有插件共享的基本选项。插件特定的选项在读取它们之前才加载。

定义的选项是

  • auth_plugin: 将用于

    身份验证的身份验证插件的名称。

  • auth_section:应从中获取进一步的身份验证插件选项的组。

    如果未提供 section,则身份验证插件选项将从参数中提供的组中获取。

参数:

keystoneclient.auth.token_endpoint 模块

class keystoneclient.auth.token_endpoint.Token(endpoint, token)

继承自 BaseAuthPlugin

一个将始终使用给定令牌和端点的提供程序。

这仅在测试和某些 CLI 情况下有用,您拥有已知的端点和管理员令牌,并且希望使用它们。

get_endpoint(session, **kwargs)

返回提供的端点。

使用此插件,无论传递给插件的参数如何,都将返回相同的端点。

classmethod get_options()

返回与身份验证插件关联的参数列表。

此列表可用于生成 CLI 或配置文件参数。

返回值:

描述可用插件参数的 Param 对象列表。

返回类型:

列表

get_token(session)

获取令牌。

令牌的获取方式由插件决定。如果它仍然有效,则可以重用、从缓存中检索或调用服务器上的身份验证请求。

没有必需的 kwargs。它们直接传递给认证插件,并且是特定于实现的。

返回 None 将指示无法检索到令牌。

此函数放置不当,因为它仅应需要使用“X-Auth-Token”标头的身份验证插件。但是,由于插件的演变方式,此方法是必需的,并且通常被调用以触发新插件上的身份验证请求。

在实现新插件时,建议您实现此方法,但是,如果您不需要“X-Auth-Token”标头,请改写 get_headers 方法。

参数:

session (keystoneclient.session.Session) – 会话对象,插件可以进行 HTTP 调用。

返回值:

要使用的令牌。

返回类型:

字符串

模块内容

class keystoneclient.auth.BaseAuthPlugin

基类: object

认证插件的基本结构。

get_connection_params(session, **kwargs)

返回插件所需的任何其他连接参数。

参数:

session (keystoneclient.session.Session) – auth_plugin 所属的会话对象。

返回值:

用于验证消息的头,或者失败的 None。请注意,空字典是一个有效的、非失败的响应。

返回类型:

dict

get_endpoint(session, **kwargs)

为客户端返回一个端点。

get_endpoint 中没有必需的关键字参数,因为插件实现应尽最大努力使用可用信息来确定端点。但是,有一些标准选项将由客户端生成,并且应由插件使用

  • service_type:所需的服务类型。

  • service_name:目录中的服务名称。

  • interface:端点应具有的可见性。

  • region_name:端点所在的区域。

参数:

session (keystoneclient.session.Session) – auth_plugin 所属的会话对象。

返回值:

将用于与所需服务通信的基本 URL,如果不可用则为 None。

返回类型:

字符串

get_headers(session, **kwargs)

获取消息的身份验证头。

这是旧的 get_token 的更通用的替代方案,允许插件指定与 OpenStack 标准“X-Auth-Token”头不同的或额外的身份验证头。

如何获取身份验证头由插件决定。如果头仍然有效,则可以重用、从缓存中检索,或者插件可以调用对服务器的身份验证请求。

get_headers 的默认实现调用 get_token 方法,以使旧式插件能够继续正常运行。子类可以自由地完全覆盖此函数以提供他们想要的头。

没有必需的 kwargs。它们直接传递给认证插件,并且是特定于实现的。

返回 None 将指示无法检索到 token,并且授权失败。可以通过返回一个空字典来实现不添加任何身份验证数据。

参数:

session (keystoneclient.session.Session) – auth_plugin 所属的会话对象。

返回值:

用于验证消息的头,或者失败的 None。请注意,空字典是一个有效的、非失败的响应。

返回类型:

dict

classmethod get_options()

返回与身份验证插件关联的参数列表。

此列表可用于生成 CLI 或配置文件参数。

返回值:

描述可用插件参数的 Param 对象列表。

返回类型:

列表

get_project_id(session, **kwargs)

返回插件认证到的项目 ID。

只要可能,项目 ID 应该从 token 推断出来,但是某些 URL 和其他地方需要访问当前认证的项目 ID。

参数:

session (keystoneclient.session.Session) – 会话对象,插件可以进行 HTTP 调用。

返回值:

一个项目标识符,如果不可用则为 None。

返回类型:

str

get_token(session, **kwargs)

获取令牌。

令牌的获取方式由插件决定。如果它仍然有效,则可以重用、从缓存中检索或调用服务器上的身份验证请求。

没有必需的 kwargs。它们直接传递给认证插件,并且是特定于实现的。

返回 None 将指示无法检索到令牌。

此函数放置不当,因为它仅应需要使用“X-Auth-Token”标头的身份验证插件。但是,由于插件的演变方式,此方法是必需的,并且通常被调用以触发新插件上的身份验证请求。

在实现新插件时,建议您实现此方法,但是,如果您不需要“X-Auth-Token”标头,请改写 get_headers 方法。

参数:

session (keystoneclient.session.Session) – 会话对象,插件可以进行 HTTP 调用。

返回值:

要使用的令牌。

返回类型:

字符串

get_user_id(session, **kwargs)

返回插件的唯一用户标识符。

只要可能,用户 ID 应该从 token 推断出来,但是某些 URL 和其他地方需要访问当前认证的用户 ID。

参数:

session (keystoneclient.session.Session) – 会话对象,插件可以进行 HTTP 调用。

返回值:

一个用户标识符,如果不可用则为 None。

返回类型:

str

invalidate()

使当前的身份验证数据失效。

这应该导致在下次调用时获取新的 token。

如果返回 Unauthorized HTTP 响应以指示 token 可能已被撤销或现在无效,则插件可能会失效。

返回值:

如果插件执行了某些操作以使其失效,则为 True。这意味着尝试再次是有意义的。如果未发生任何事情,则返回 False 以指示放弃。

返回类型:

bool

classmethod load_from_argparse_arguments(namespace, **kwargs)

从 argparse 结果加载特定的插件对象。

将解析结果转换为指定的插件。

参数:

namespace (argparse.Namespace) – CLI 解析的结果。

返回值:

一个认证插件,或者如果没有提供名称则为 None。

返回类型:

keystoneclient.auth.BaseAuthPlugin

classmethod load_from_conf_options(conf, group, **kwargs)

从 CONF 对象加载插件。

将已注册的选项转换为实际的插件。

参数:
返回值:

一个身份验证插件。

返回类型:

keystoneclient.auth.BaseAuthPlugin

classmethod load_from_options(**kwargs)

从从 get_options 获取的参数创建插件。

客户端可以覆盖此函数以进行参数验证或处理注册选项与创建插件所需的选项之间的差异。

classmethod load_from_options_getter(getter, **kwargs)

从返回适当值的 getter 函数加载插件。

为了处理除了提供的 CONF 和 CLI 加载之外的情况,您可以指定一个自定义加载器函数,该函数将被查询以获取要加载的值。

getter 是一个函数,它接受一个值,一个 oslo_config.cfg.Opt 并返回一个要加载的值。

参数:

getter (callable) – 一个返回给定 opt 值的函数。

返回值:

一个身份验证插件。

返回类型:

keystoneclient.auth.BaseAuthPlugin

classmethod register_argparse_arguments(parser)

注册特定插件提供的 CLI 选项。

给定一个插件类,将其选项转换为 argparse 参数并将其添加到解析器中。

参数:

parser (argparse.ArgumentParser) – 要附加 argparse 选项的解析器。

classmethod register_conf_options(conf, group)

注册插件所需的 oslo_config 选项。

参数:
keystoneclient.auth.get_available_plugin_classes()

检索系统上所有可用的插件类。

返回值:

一个字典,其中插件入口点名称作为键,插件类作为值。

返回类型:

dict

keystoneclient.auth.get_available_plugin_names()

获取系统上所有可用插件的名称。

这对于帮助和错误文本特别有用,例如提示用户他们可以指定哪些插件。

返回值:

一个名称列表。

返回类型:

frozenset

keystoneclient.auth.get_common_conf_options()

获取所有身份验证插件通用的 oslo_config 选项。

这些可能对配置文件的生成或用于在注册它们之前操作选项很有用,而无需注册。

设置的选项是
auth_plugin:

要加载的插件的名称。

auth_section:

要从中加载选项的配置文件部分。

返回值:

一个 oslo_config 选项列表。

keystoneclient.auth.get_plugin_class(name)

通过入口点名称检索插件类。

参数:

name (str) – 要获取的对象的名称。

返回值:

一个认证插件类。

返回类型:

keystoneclient.auth.BaseAuthPlugin

引发:

keystoneclient.exceptions.NoMatchingPlugin – 如果无法创建插件。

keystoneclient.auth.get_plugin_options(name)

获取特定插件的 oslo_config 选项。

这将是注册并由指定插件加载的配置选项列表。

返回值:

一个 oslo_config 选项列表。

keystoneclient.auth.load_from_argparse_arguments(namespace, **kwargs)

从完成的 argparse 结果中检索创建的插件。

从 argparse 解析的命令行信息加载并创建认证插件。

参数:

namespace (Namespace) – CLI 解析的结果。

返回值:

一个认证插件,或者如果没有提供名称则为 None。

返回类型:

keystoneclient.auth.BaseAuthPlugin

引发:

keystoneclient.exceptions.NoMatchingPlugin – 如果无法创建插件。

keystoneclient.auth.load_from_conf_options(conf, group, **kwargs)

从 oslo_config CONF 对象加载插件。

每个插件都会注册他们自己需要的选项,因此没有标准的列表,应该咨询插件。

在调用此函数之前,基本选项应该使用 register_conf_options 注册。

参数:
返回值:

一个认证插件,或者如果没有提供名称则为 None

返回类型:

keystoneclient.auth.BaseAuthPlugin

引发:

keystoneclient.exceptions.NoMatchingPlugin – 如果无法创建插件。

keystoneclient.auth.register_argparse_arguments(parser, argv, default=None)

注册创建插件所需的 CLI 选项。

该函数检查提供的参数,以便如果可用,它还可以注册该特定插件所需的选项。

参数:
  • argparse.ArgumentParser – 要附加 argparse 选项的解析器。

  • argv (List) – 提供给应用程序的参数。

  • default (str/class) – 如果 CLI 中未指定,则使用的默认插件名称或插件对象。默认值:None。

返回值:

将要加载的插件类或未提供时为 None。

返回类型:

keystoneclient.auth.BaseAuthPlugin

引发:

keystoneclient.exceptions.NoMatchingPlugin – 如果无法创建插件。

keystoneclient.auth.register_conf_options(conf, group)

注册插件所需的 oslo_config 选项。

这仅注册所有插件共享的基本选项。插件特定的选项在读取它们之前才加载。

定义的选项是

  • auth_plugin: 将用于

    身份验证的身份验证插件的名称。

  • auth_section:应从中获取进一步的身份验证插件选项的组。

    如果未提供 section,则身份验证插件选项将从参数中提供的组中获取。

参数: