DeviceCodeCredentialBuilder クラス
- java.
lang. Object - com.
azure. identity. CredentialBuilderBase<T> - com.
azure. identity. AadCredentialBuilderBase<T> - com.
azure. identity. DeviceCodeCredentialBuilder
- com.
- com.
- com.
public class DeviceCodeCredentialBuilder
extends AadCredentialBuilderBase<DeviceCodeCredentialBuilder>
をインスタンス化 DeviceCodeCredentialするための Fluent 資格情報ビルダー。
デバイス コード認証は、ユーザーが Web ブラウザーまたはキーボードを持たないデバイス上のアプリケーションにサインインできるようにする 、Azure Active Directory (Azure AD) によって提供される認証フローの一種です。 この認証方法は、ユーザー名とパスワードを入力できない可能性があるスマート テレビ、ゲーム コンソール、モノのインターネット (IoT) デバイスなどのデバイスに特に役立ちます。 デバイス コード認証では、認証する必要があるデバイス上のデバイス コードがユーザーに表示されます。 その後、ユーザーは別のデバイス上の Web ブラウザーに移動し、Microsoft サインイン ページにコードを入力します。 ユーザーがコードを入力すると、Azure AD によってコードが検証され、ユーザー名とパスワード、多要素認証 (MFA) メソッドなどの資格情報でサインインするように求められます。 デバイス コード認証は、OAuth 2.0 や OpenID Connect など、さまざまな Azure AD でサポートされているプロトコルを使用して開始でき、さまざまな Azure AD 統合アプリケーションで使用できます。 DeviceCodeCredential は対話形式でユーザーを認証し、限られた UI を持つデバイスでトークンを取得します。 これは、アプリケーションが認証を試みるときに、ブラウザー対応のコンピューターでログイン URL にアクセスするようにユーザーに求めることで機能します。 そこでユーザーは、指示に記載されているデバイス コードを、ログイン資格情報とともに入力します。 認証が成功すると、認証を要求したアプリケーションは、それが実行されているデバイスで正常に認証されます。 詳細については、概念に関する 知識と構成の詳細を参照してください。
これらの手順によってアプリケーションは認証されますが、Active Directory にログインしたり、リソースにアクセスしたりするためのアクセス許可はまだありません。 この問題に対処するには、 [API のアクセス許可] に移動して、Microsoft Graph と、アクセスするリソース (Azure Service Management、Key Vault など) を有効にします。 また、初めてログインするときは、アプリケーションに同意を付与するためにテナントの管理者である必要もあります。 Active Directory でデバイス コード フロー オプションを構成できない場合は、アプリをマルチテナントにすることが必要になる可能性があります。 アプリをマルチテナントにするには、 [認証] パネルに移動してから、 [任意の組織のディレクトリ内のアカウント] を選択します。 次に、 [アプリケーションは、パブリック クライアントとして扱います] に [はい] を選択します。
サンプル: DeviceCodeCredential の構築
次のコード サンプルは、 を使用して DeviceCodeCredentialBuilder を構成する のDeviceCodeCredential作成を示しています。 既定では、資格情報によってコマンド ラインにデバイス コードチャレンジが出力され、 で必要に応じて を指定できる動作 challengeConsumer
を DeviceCodeCredentialBuilderオーバーライドします。 この資格情報が作成されると、多くの Azure SDK for Java クライアント ビルダーのビルダーに 'credential' パラメーターとして渡される場合があります。
TokenCredential deviceCodeCredential = new DeviceCodeCredentialBuilder()
.build();
コンストラクターの概要
コンストラクター | 説明 | |
---|---|---|
DeviceCodeCredentialBuilder() |
メソッドの概要
修飾子と型 | メソッドと説明 |
---|---|
Device |
additionallyAllowedTenants(String[] additionallyAllowedTenants)
マルチテナント アプリケーションの場合は、資格情報がトークンを取得できる追加のテナントを指定します。 |
Device |
additionallyAllowedTenants(List<String> additionallyAllowedTenants)
マルチテナント アプリケーションの場合は、資格情報がトークンを取得できる追加のテナントを指定します。 |
Device |
authenticationRecord(AuthenticationRecord authenticationRecord)
以前の AuthenticationRecord 認証からキャプチャした を設定します。 |
Device |
build()
現在の構成で新しい DeviceCodeCredential を作成します。 |
Device |
challengeConsumer(Consumer<DeviceCodeInfo> challengeConsumer)
デバイス コードの課題を満たすようにコンシューマーを設定します。 |
Device |
disableAutomaticAuthentication()
自動認証を無効にし、 がユーザーに DeviceCodeCredential 自動的にプロンプトを表示しないようにします。 |
Device |
tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions)
永続的な共有トークン キャッシュ オプションを構成し、既定で無効になっている永続的なトークン キャッシュを有効にします。 |
メソッドの継承元: AadCredentialBuilderBase
メソッドの継承元: CredentialBuilderBase
メソッドの継承元: java.lang.Object
コンストラクターの詳細
DeviceCodeCredentialBuilder
public DeviceCodeCredentialBuilder()
メソッドの詳細
additionallyAllowedTenants
public DeviceCodeCredentialBuilder additionallyAllowedTenants(String[] additionallyAllowedTenants)
マルチテナント アプリケーションの場合は、資格情報がトークンを取得できる追加のテナントを指定します。 ワイルドカード値 "*" を追加して、アプリケーションがインストールされているテナントのトークンを資格情報で取得できるようにします。 TenantId に値が指定されていない場合、このオプションは無効になり、資格情報は要求されたテナントのトークンを取得します。
Overrides:
DeviceCodeCredentialBuilder.additionallyAllowedTenants(String[] additionallyAllowedTenants)Parameters:
Returns:
additionallyAllowedTenants
public DeviceCodeCredentialBuilder additionallyAllowedTenants(List
マルチテナント アプリケーションの場合は、資格情報がトークンを取得できる追加のテナントを指定します。 ワイルドカード値 "*" を追加して、アプリケーションがインストールされているテナントのトークンを資格情報で取得できるようにします。 TenantId に値が指定されていない場合、このオプションは無効になり、資格情報は要求されたテナントのトークンを取得します。
Overrides:
DeviceCodeCredentialBuilder.additionallyAllowedTenants(List<String> additionallyAllowedTenants)Parameters:
Returns:
authenticationRecord
public DeviceCodeCredentialBuilder authenticationRecord(AuthenticationRecord authenticationRecord)
以前の AuthenticationRecord 認証からキャプチャした を設定します。
Parameters:
Returns:
build
public DeviceCodeCredential build()
現在の構成で新しい DeviceCodeCredential を作成します。
Returns:
challengeConsumer
public DeviceCodeCredentialBuilder challengeConsumer(Consumer
デバイス コードの課題を満たすようにコンシューマーを設定します。 指定しない場合は、デバイス コード情報メッセージを stdout に出力する既定のコンシューマーが使用されます。
Parameters:
Returns:
disableAutomaticAuthentication
public DeviceCodeCredentialBuilder disableAutomaticAuthentication()
自動認証を無効にし、 がユーザーに DeviceCodeCredential 自動的にプロンプトを表示しないようにします。 自動認証が無効 AuthenticationRequiredException になっている場合、ユーザーの操作が必要な場合は から getToken(TokenRequestContext request) がスローされます。 アプリケーションは、この例外を処理し、 または authenticate(TokenRequestContext request) を呼び出authenticate()してユーザーを対話形式で認証する役割を担います。
Returns:
tokenCachePersistenceOptions
public DeviceCodeCredentialBuilder tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions)
永続的な共有トークン キャッシュ オプションを構成し、既定で無効になっている永続的なトークン キャッシュを有効にします。 構成されている場合、資格情報は、現在のユーザーに対して保護されたコンピューターに永続化されたキャッシュにトークンを格納します。これは、他の資格情報とプロセスで共有できます。
Parameters:
Returns: