次の方法で共有


DeviceCodeCredentialBuilder クラス

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作成を示しています。 既定では、資格情報によってコマンド ラインにデバイス コードチャレンジが出力され、 で必要に応じて を指定できる動作 challengeConsumerDeviceCodeCredentialBuilderオーバーライドします。 この資格情報が作成されると、多くの Azure SDK for Java クライアント ビルダーのビルダーに 'credential' パラメーターとして渡される場合があります。

TokenCredential deviceCodeCredential = new DeviceCodeCredentialBuilder()
     .build();

コンストラクターの概要

コンストラクター 説明
DeviceCodeCredentialBuilder()

メソッドの概要

修飾子と型 メソッドと説明
DeviceCodeCredentialBuilder additionallyAllowedTenants(String[] additionallyAllowedTenants)

マルチテナント アプリケーションの場合は、資格情報がトークンを取得できる追加のテナントを指定します。

DeviceCodeCredentialBuilder additionallyAllowedTenants(List<String> additionallyAllowedTenants)

マルチテナント アプリケーションの場合は、資格情報がトークンを取得できる追加のテナントを指定します。

DeviceCodeCredentialBuilder authenticationRecord(AuthenticationRecord authenticationRecord)

以前の AuthenticationRecord 認証からキャプチャした を設定します。

DeviceCodeCredential build()

現在の構成で新しい DeviceCodeCredential を作成します。

DeviceCodeCredentialBuilder challengeConsumer(Consumer<DeviceCodeInfo> challengeConsumer)

デバイス コードの課題を満たすようにコンシューマーを設定します。

DeviceCodeCredentialBuilder disableAutomaticAuthentication()

自動認証を無効にし、 がユーザーに DeviceCodeCredential 自動的にプロンプトを表示しないようにします。

DeviceCodeCredentialBuilder tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions)

永続的な共有トークン キャッシュ オプションを構成し、既定で無効になっている永続的なトークン キャッシュを有効にします。

メソッドの継承元: AadCredentialBuilderBase

メソッドの継承元: CredentialBuilderBase

メソッドの継承元: java.lang.Object

コンストラクターの詳細

DeviceCodeCredentialBuilder

public DeviceCodeCredentialBuilder()

メソッドの詳細

additionallyAllowedTenants

public DeviceCodeCredentialBuilder additionallyAllowedTenants(String[] additionallyAllowedTenants)

マルチテナント アプリケーションの場合は、資格情報がトークンを取得できる追加のテナントを指定します。 ワイルドカード値 "*" を追加して、アプリケーションがインストールされているテナントのトークンを資格情報で取得できるようにします。 TenantId に値が指定されていない場合、このオプションは無効になり、資格情報は要求されたテナントのトークンを取得します。

Overrides:

DeviceCodeCredentialBuilder.additionallyAllowedTenants(String[] additionallyAllowedTenants)

Parameters:

additionallyAllowedTenants - 追加で許可されたテナント。

Returns:

追加のテナントが構成された、このビルダーの更新されたインスタンス。

additionallyAllowedTenants

public DeviceCodeCredentialBuilder additionallyAllowedTenants(List additionallyAllowedTenants)

マルチテナント アプリケーションの場合は、資格情報がトークンを取得できる追加のテナントを指定します。 ワイルドカード値 "*" を追加して、アプリケーションがインストールされているテナントのトークンを資格情報で取得できるようにします。 TenantId に値が指定されていない場合、このオプションは無効になり、資格情報は要求されたテナントのトークンを取得します。

Overrides:

DeviceCodeCredentialBuilder.additionallyAllowedTenants(List<String> additionallyAllowedTenants)

Parameters:

additionallyAllowedTenants - 追加で許可されたテナント。

Returns:

追加のテナントが構成された、このビルダーの更新されたインスタンス。

authenticationRecord

public DeviceCodeCredentialBuilder authenticationRecord(AuthenticationRecord authenticationRecord)

以前の AuthenticationRecord 認証からキャプチャした を設定します。

Parameters:

authenticationRecord - 構成する認証レコード。

Returns:

構成された認証レコードを持つ、このビルダーの更新されたインスタンス。

build

public DeviceCodeCredential build()

現在の構成で新しい DeviceCodeCredential を作成します。

Returns:

現在 DeviceCodeCredential の構成を含む 。

challengeConsumer

public DeviceCodeCredentialBuilder challengeConsumer(Consumer challengeConsumer)

デバイス コードの課題を満たすようにコンシューマーを設定します。 指定しない場合は、デバイス コード情報メッセージを stdout に出力する既定のコンシューマーが使用されます。

Parameters:

challengeConsumer - ユーザーがデバイス コードチャレンジを満たせるようにするメソッド。

Returns:

InteractiveBrowserCredentialBuilder 自体

disableAutomaticAuthentication

public DeviceCodeCredentialBuilder disableAutomaticAuthentication()

自動認証を無効にし、 がユーザーに DeviceCodeCredential 自動的にプロンプトを表示しないようにします。 自動認証が無効 AuthenticationRequiredException になっている場合、ユーザーの操作が必要な場合は から getToken(TokenRequestContext request) がスローされます。 アプリケーションは、この例外を処理し、 または authenticate(TokenRequestContext request) を呼び出authenticate()してユーザーを対話形式で認証する役割を担います。

Returns:

自動認証が無効になっている、このビルダーの更新されたインスタンス。

tokenCachePersistenceOptions

public DeviceCodeCredentialBuilder tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions)

永続的な共有トークン キャッシュ オプションを構成し、既定で無効になっている永続的なトークン キャッシュを有効にします。 構成されている場合、資格情報は、現在のユーザーに対して保護されたコンピューターに永続化されたキャッシュにトークンを格納します。これは、他の資格情報とプロセスで共有できます。

Parameters:

tokenCachePersistenceOptions - トークン キャッシュ構成オプション

Returns:

トークン キャッシュ オプションが構成された、このビルダーの更新されたインスタンス。

適用対象