DeviceCodeCredential クラス
デバイス コード フローを使用してユーザーを認証します。
が呼び出されると get_token 、この資格情報は Azure Active Directory から検証 URL とコードを取得します。 ユーザーは、URL を参照し、コードを入力し、Azure Active Directory で認証する必要があります。 ユーザーが正常に認証されると、資格情報はアクセス トークンを受け取ります。
この資格情報は、主に、SSH セッションなどの Web ブラウザーを使用しない環境でユーザーを認証する場合に役立ちます。 Web ブラウザーが使用可能な場合は、 InteractiveBrowserCredential ブラウザーがログイン ページに自動的に開くので、より便利です。
- 継承
-
azure.identity._internal.interactive.InteractiveCredentialDeviceCodeCredential
コンストラクター
DeviceCodeCredential(client_id: str = '04b07795-8ddb-461a-bbee-02f9e1bf7b46', *, timeout: int | None = None, prompt_callback: Callable[[str, str, datetime], None] | None = None, **kwargs: Any)
パラメーター
- client_id
- str
ユーザーが認証するアプリケーションのクライアント ID。 指定されていない場合、ユーザーは Azure 開発アプリケーションに対して認証を行います。
- authority
- str
Azure Active Directory エンドポイントの権限 ("login.microsoftonline.com" など)、Azure パブリック クラウドの権限 (既定値)。 AzureAuthorityHosts は、他のクラウドの権限を定義します。
- tenant_id
- str
Azure Active Directory テナント ID。 既定では、職場または学校アカウントを認証できる "組織" テナントが使用されます。 シングルテナント アプリケーションに必要です。
- timeout
- int
ユーザーの認証を待機する秒数。 既定では、Azure Active Directory によって設定されたデバイス コードの有効期間が設定されます。 タイムアウト が長い場合にも優先されます。
認証手順の表示方法の制御を有効にするコールバック。 引数 (verification_uri
、、user_code
expires_on
) を受け入れる必要があります。
verification_uri
(str) ユーザーがアクセスする必要がある URLuser_code
(str) ユーザーがそこに入力する必要があるコードexpires_on
(datetime.datetime) コードの有効期限が切れる UTC 時刻
この引数が指定されていない場合、資格情報によって命令が stdout に出力されます。
- authentication_record
- AuthenticationRecord
AuthenticationRecord によって返される authenticate
- disable_automatic_authentication
- bool
True の場合、 は、 get_token トークンを取得するためにユーザーの操作が必要な場合に発生 AuthenticationRequiredError します。 既定値は False です。
- cache_persistence_options
- TokenCachePersistenceOptions
永続的なトークン キャッシュの構成。 指定しない場合、資格情報はトークンをメモリにキャッシュします。
- disable_instance_discovery
- bool
認証を試みるときにインスタンス検出を実行するかどうかを決定します。 これを true に設定すると、インスタンスの検出と機関の検証の両方が完全に無効になります。 この機能は、プライベート クラウドや Azure Stack など、メタデータ エンドポイントに到達できないシナリオでの使用を目的としています。 インスタンス検出のプロセスでは、 から https://login.microsoft.com/ 機関メタデータを取得して機関を検証する必要があります。 これを True に設定すると、機関の検証は無効になります。 その結果、構成された機関ホストが有効で信頼できることを確認することが重要です。
例
DeviceCodeCredential を作成します。
from azure.identity import DeviceCodeCredential
credential = DeviceCodeCredential()
メソッド
authenticate |
ユーザーを対話形式で認証します。 |
close | |
get_token |
スコープのアクセス トークンを要求 します。 このメソッドは、Azure SDK クライアントによって自動的に呼び出されます。 |
authenticate
ユーザーを対話形式で認証します。
authenticate(**kwargs: Any) -> AuthenticationRecord
パラメーター
によって提供 scopesされるものなど、認証時に要求するスコープ。 指定した場合、認証が成功すると、これらのスコープのアクセス トークンがキャッシュされます。
の戻り値の型 :
例外
認証に失敗しました。 エラーの message
属性には理由があります。
close
get_token
スコープのアクセス トークンを要求 します。
このメソッドは、Azure SDK クライアントによって自動的に呼び出されます。
get_token(*scopes: str, claims: str | None = None, tenant_id: str | None = None, **kwargs: Any) -> AccessToken
パラメーター
- scopes
- str
アクセス トークンの目的のスコープ。 このメソッドには、少なくとも 1 つのスコープが必要です。 スコープの詳細については、「」を参照してください https://video2.skills-academy.com/azure/active-directory/develop/scopes-oidc。
- claims
- str
承認エラーの後にリソース プロバイダーの要求チャレンジで返される要求など、トークンに必要な追加の要求
- tenant_id
- str
トークン要求に含めるオプションのテナント。
- enable_cae
- bool
は、要求されたトークンに対して継続的アクセス評価 (CAE) を有効にするかどうかを示します。 既定値は False です。
戻り値
目的のスコープを持つアクセス トークン。
の戻り値の型 :
例外
資格情報は、必要なデータ、状態、またはプラットフォームのサポートがないため、認証を試みることができません
認証に失敗しました。 エラーの message
属性には理由があります。
トークンを取得するにはユーザーの操作が必要であり、これを自動的に開始しないように資格情報が構成されます。 Call (英語の可能性あり)
を使用して対話型認証を開始します。