登录

登录框架

用于简化应用开发的登录实用程序。


开发者:Shotgun Software
最新版本::v1.2.2 (Alpha)
我们的版本号遵循语义化版本标准。
系统名称::tk-framework-login

目录:

概述

文档

            类 Login API 参考

                  get_instance_for_namespace()

                  Login 构造函数

                  login()

                  logout()

            类 ShotgunLogin API 参考

                  get_login()

                  get_connection()

                  set_default_login()

                  set_default_site()

                  set_http_proxy()

安装、更新和开发

配置选项

概述

一个用于以安全方式管理登录信息的界面,以及一个用于收集信息的标准对话框。还包括一个用于登录 Shotgun 的执行。

文档

登录框架为管理登录服务所用的身份认证信息实现了一个标准。它由一个抽象基础类 (Login) 和一个执行构成,前者可创建子类来管理特定服务的登录,后者则用于管理 Shotgun 实例的登录 (ShotgunLogin)。

它还包括以下对话框窗口。

当框架需要为用户登录的服务收集身份认证信息时,会显示此对话框。默认情况下,此窗口针对 Shotgun 登录,但是 Login 的子类可以修改其外观和行为的许多方面。

此框架的设计使它可以用作标准的 Toolkit 框架或独立的 Python 模块(不依赖 Toolkit 核心)。这样,它便可以作为引导过程的一部分,用来查找和初始化 Toolkit 环境。

类 Login API 参考

这是一个抽象类,提供对服务登录信息存储操作的抽象。它会为每个服务存储站点说明(例如用于登录的 URL)、登录名(例如用于登录的用户名)和密码。站点和登录名存储在不加密的设置文件中,密码则使用特定于操作的执行存储在加密的 KeyRing 中。

要使用该接口,只要能够从执行请求登录信息即可:

    login_manager = LoginImplementation.get_instance_for_namespace("My Application")
    login_info = login_manager.login()

如果登录信息已收集完毕,将返回这些信息。如果保存的值成功通过身份认证,将返回得到的登录信息。否则,将向用户显示一个对话框,以收集站点/登录名/密码。

要创建子类,您必须至少执行 _site_connect,它应该对连接信息进行验证。

默认情况下,由 QT 的 QSettings 存储公共设置,它将使用 QApplication 的 applicationName 和 organizationName 确定设置文件的存储位置。通过在子类中执行 _get_settings 方法,可改写此设置。

默认情况下,系统使用的 KeyRing 将以站点命名(例如,如果登录 http://www.google.com,KeyRing 名称将为“www.google.com.login”),密钥是所使用的登录名。通过在子类中执行 _get_keyring_values 方法,可改写这些默认设置。

通过更改 _dialog_class 的值,可改写弹出的默认对话框。_dialog_kwargs 的值将传递给对话框构造函数。请参见 login_dialog.LoginDialog 的文档了解默认对话框有哪些有效参数。

get_instance_for_namespace()

这个类方法将为给定命名空间返回一个 Login 实例。如果实例已存在,将返回该实例。这将充当一个工厂,让您易于重用登录管理器的实例。

参数和返回值

  • str namespace - 一个字符串,作用是查询登录管理器。
  • 返回值:返回登录管理器的实例

    login_manager = get_instance_for_namespace("my-app")

Login 构造函数

初始化登录管理器。

Login()

login()

返回当前经过认证的登录名的登录信息。

此函数将检查保存的值中是否缓存了有效的登录信息。如果未找到任何有效的缓存登录信息,将显示登录对话框。

参数和返回值

  • str site - 要获取登录信息的站点(None 表示默认站点)
  • str dialog_message - 要在登录对话框中显示的消息
  • bool force_dialog - 如果为 True,即使检索到有效凭据,也会弹出对话框
  • 返回值:失败时返回 None,成功时返回特定于执行的表示。

logout()

退出当前连接。

这将清除所有缓存的值和存储的密码

参数和返回值

  • str site - 要退出的站点(None 表示默认站点)

类 ShotgunLogin API 参考

针对 Login 类的一个方便的封装器,用于执行 Shotgun 站点的登录信息管理。除了此处介绍的方法,还可使用 Login 的所有方法。

get_login()

返回当前登录的人类用户。否则与 Login 行为一样。

参数和返回值

  • str site - 要获取登录信息的站点(None 表示默认站点)
  • str dialog_message - 要在登录对话框中显示的消息
  • bool force_dialog - 如果为 True,即使检索到有效凭据,也会弹出对话框
  • 返回值:失败时返回 None,成功时返回登录的人类用户的 Shotgun 实体样式词典。

get_connection()

返回当前登录的连接。否则与 Login 行为一样

参数和返回值

  • str site - 要获取登录信息的站点(None 表示默认站点)
  • str dialog_message - 要在登录对话框中显示的消息
  • bool force_dialog - 如果为 True,即使检索到有效凭据,也会弹出对话框
  • 返回值:失败时返回 None,成功时返回 Shotgun 连接。

set_default_login()

设置登录对话框中的登录字段的默认值。

参数和返回值

  • str login - 要为字段设置的字符串

set_default_site()

设置登录对话框中的站点字段的默认值。

参数和返回值

  • str login - 要为字段设置的字符串

set_http_proxy()

设置连接 Shotgun 时使用的代理。

参数和返回值

  • str http_proxy - 一个字符串,它将被传递给以下网址介绍的 Shotgun 构造函数:https://github.com/shotgunsoftware/python-api/wiki/Reference%3A-Methods#shotgun

安装和更新

更新至最新版本

如果您已在某个项目中安装了此应用,要获取最新版本,可运行 update 命令。您可以导航到该特定项目随附的 tank 命令,并在该项目中运行它:

> cd /my_tank_configs/project_xyz
> ./tank updates

或者,也可以运行您的工作室的 tank 命令并指定项目名称,指示该命令要对哪个项目运行更新检查:

> tank Project XYZ updates

协作和代码演进

如果您可以获取 Shotgun Pipeline Toolkit,意味着也可以获取我们在 GitHub 中存储和管理的所有应用、插件和框架的源代码。欢迎根据实际需要演进和完善这些内容,以它们为基础做进一步的独立开发,修改它们(以及向我们提交 Pull 请求!),或者只是随手玩一玩,简单了解它们的构建方式和 Toolkit 的工作原理。您可以通过以下网址访问此代码库:https://github.com/shotgunsoftware/tk-framework-login

特殊要求

  • 需要安装 Shotgun Pipeline Toolkit 核心 API 版本 v0.14.58 或更高版本才能使用此功能。

配置

无需配置!

此功能没有任何要配置的选项!

关注

0 评论

登录写评论。