![]() |
ログイン フレームワーク
アプリ開発を簡素化するログイン ユーティリティ 作成: Shotgun Software 最新バージョン: v1.2.2 (アルファ) バージョン番号は、セマンティック バージョニング基準に従っています。 システム名: tk-framework-login |

目次:
概要
情報を収集する標準的なダイアログと組み合わせて、ログイン情報を安全な方法で管理するためのインタフェースです。Shotgun にログインするための実装も含まれています。
ドキュメント
ログイン フレームワークは、サービスにログインするための認証情報の管理に関する標準を実装しています。これは、特定のサービスへのログインを管理するためにサブクラス化できる抽象基本クラス(Login
)と、Shotgun インスタンスへのログインを管理する実装(ShotgunLogin
)で構成されています。
また、次のダイアログ ウィンドウも含まれています。

このダイアログは、ログインしているサービスの認証情報をフレームワークが収集する必要がある場合に表示されます。既定では Shotgun のログイン用に設定されていますが、Login
のサブクラスはその外観と動作を変更できます。
このフレームワークは、標準の Toolkit フレームワークとして、または(Toolkit コアに依存しない)スタンドアロンの Python モジュールとして使用できるように設計されています。これにより、Toolkit 環境を見つけて初期化するためのブートストラップの一部として使用できます。
クラス ログイン API リファレンス
これは、サービスのログイン情報の格納のための抽象化を提供する抽象クラスです。サービスごとに、サイトの指定(ログイン先の URL など)、ログイン(ログインするユーザ名など)、およびパスワードが格納されます。サイトとログインは暗号化されていない設定ファイルに格納されますが、パスワードは、操作に固有の実装を使用して、暗号化されたキーリングに格納されます。
実装からログイン情報を要求するだけでインタフェースを使用できます。
login_manager = LoginImplementation.get_instance_for_namespace("My Application") login_info = login_manager.login()
ログイン情報が既に収集されている場合は、それが返されます。保存された値が正常に認証されると、結果のログイン情報が返されます。そうでない場合は、サイト/ログイン/パスワードを収集するダイアログがユーザに表示されます。
サブクラス化するためには、少なくとも接続情報を検証する _site_connect
を実装する必要があります。
既定では、公開される設定は Qt の QSettings によって格納されます。これは、QApplication の applicationName および organizationName を使用して設定ファイルの格納場所を特定します。これは、サブクラスで _get_settings
メソッドを実装することによりオーバーライドできます。
既定では、システムで使用されているキーリングの名前にはサイトの名前が使用され(たとえば、http://www.google.com にログインしている場合は "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()
現在認証されているログインのログイン情報を返します。
これにより、保存された値がチェックされ、有効なログインがキャッシュされているかが確認されます。キャッシュされた有効なログイン情報が見つからない場合は、ログイン ダイアログが表示されます。
パラメータと戻り値
-
str site
- ログインを取得するサイト(None は既定のサイト) -
str dialog_message
- ログイン ダイアログに表示するメッセージ -
bool force_dialog
- True の場合、有効な資格情報が取得されてもダイアログを表示 - 戻り値: 失敗すると None、成功すると実装に固有の表示。
logout()
現在の接続をログアウトします。
これにより、キャッシュされた値と保存されたパスワードがクリアされます
パラメータと戻り値
-
str site
- ログアウトするサイト(None は既定のサイト)
クラス ShotgunLogin API リファレンス
Shotgun サイトのログインの管理を実装する Login
クラスの便利なラッパーです。ここに記載されているものの他に、Login
のすべてのメソッドが利用可能です。
get_login()
現在のログインの HumanUser を返します。そうでなければログインのように動作します。
パラメータと戻り値
-
str site
- ログインを取得するサイト(None は既定のサイト) -
str dialog_message
- ログイン ダイアログに表示するメッセージ -
bool force_dialog
- True の場合、有効な資格情報が取得されてもダイアログを表示 - 戻り値: 失敗すると None、成功するとログインした HumanUser の Shotgun エンティティ スタイルのディクショナリ。
get_connection()
現在のログインの接続を返します。そうでなければログインのように動作します。
パラメータと戻り値
-
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
- https://github.com/shotgunsoftware/python-api/wiki/Reference%3A-Methods#shotgun で説明する Shotgun コンストラクタに渡される文字列
インストールと更新
最新バージョンに更新する
この項目が既にプロジェクトにインストールされている場合に最新バージョンを取得するには、update
コマンドを実行します。特定のプロジェクトに含まれている tank コマンドに移動し、そこでこのコマンドを実行します。
> cd /my_tank_configs/project_xyz > ./tank updates
または、tank
コマンドを実行し、プロジェクトの名前を指定して、更新チェックを実行するプロジェクトを指定します。
> tank Project XYZ updates
コラボレーションと発展
![]() |
Shotgun Pipeline Toolkit にアクセスできる場合は、すべてのアプリ、エンジン、およびフレームワークのソース コードにも Github からアクセスできます。これらは Github を使用して格納および管理しています。これらの項目は自由に発展させてください。さらなる独立した開発用の基盤として使用したり、変更を加えたり(その際はプル リクエストを送信してください)、 いろいろと研究してビルドの方法やツールキットの動作を確認してください。このコード リポジトリには https://github.com/shotgunsoftware/tk-framework-login からアクセスできます。 |
特殊な要件
- 上記の操作を行うには、Shotgun Pipeline Toolkit Core API バージョン v0.14.58 以降が必要です。
環境設定
設定は不要です。
この項目には設定するオプションがありません。