次の方法で共有


InteractiveBrowserCredential クラス

  • java.lang.Object
    • com.azure.identity.InteractiveBrowserCredential

実装

public class InteractiveBrowserCredential
implements TokenCredential

対話型ブラウザー認証は、ユーザーが Web ブラウザーを使用してアプリケーションとサービスにサインインできるようにする Azure Active Directory (Azure AD) によって提供される認証フローの一種です。 この認証方法は、ユーザーが自分の資格情報を Web ページに直接入力する Web アプリケーションでよく使用されます。 対話型ブラウザー認証を使用すると、ユーザーは Web アプリケーションに移動し、ユーザー名とパスワードの資格情報を入力するように求められます。 その後、アプリケーションはユーザーを Azure AD サインイン ページにリダイレクトし、資格情報をもう一度入力するように求められます。 ユーザーが正常に認証されると、Azure AD は、アプリケーションがリソースへのユーザーのアクセスを承認するために使用できるセキュリティ トークンを発行します。 InteractiveBrowserCredential は、ユーザーを対話的に認証し、既定のシステム ブラウザーでトークンを取得し、ユーザーが独自の資格情報を使用してアプリケーションを認証できるようにすることで、スムーズな認証エクスペリエンスを提供します。 認証されると、oauth2 フローは応答 URL を介して認証コードの資格情報を通知します。 詳細については、 対話型ブラウザー認証のドキュメントを参照してください

必要な構成:

InteractiveBrowserCredential を使用するには、ユーザーに代わってログインするためのアクセス許可を持つアプリケーションを Azure Active Directory に登録する必要があります。 以下の手順に従って、登録済みアプリケーションを構成します。

  1. Azure portal で Azure Active Directory に移動して、アプリ登録を見つけます。
  2. [認証] セクションに移動します。
  3. [リダイレクトされた URI の候補] で、/common/oauth2/nativeclient で終わる URI をチェックします。
  4. [既定のクライアントの種類] で、 [アプリケーションは、パブリック クライアントとして扱います] に対して [はい] を選択します。

これらの手順によってアプリケーションは認証されますが、Active Directory にログインしたり、リソースにアクセスしたりするためのアクセス許可はまだありません。 この問題に対処するには、 [API のアクセス許可] に移動して、Microsoft Graph と、アクセスするリソース (Azure Service Management、Key Vault など) を有効にします。 また、初めてログインするときは、アプリケーションに同意を付与するためにテナントの管理者である必要もあります。 では redirectUrl(String redirectUrl)、リダイレクト URL を指定できます。 STS がセキュリティ コードを使用してアプリケーションをコールバックするリダイレクト URL を構成します。 カスタム クライアント ID が を使用して InteractiveBrowserCredentialBuilder#clientId(String) 指定され、アプリケーションの登録時に指定されたリダイレクト URL と一致する必要がある場合に必要です。 リダイレクト URL は、登録済みの Azure AD アプリケーションの [認証] セクションの [リダイレクト URI] サブセクションに追加できます。

サンプル: InteractiveBrowserCredential を構築する

次のコード サンプルは、 を使用してInteractiveBrowserCredentialBuilderの作成InteractiveBrowserCredentialを示しています。 既定では、資格情報は localhost リダイレクト URL を対象とします。この動作 redirectUrl(String redirectUrl) をオーバーライドするには、 を必要に応じて指定できます。 この資格情報が作成されると、多くの Azure SDK for Java クライアント ビルダーのビルダーに 'credential' パラメーターとして渡される場合があります。

TokenCredential interactiveBrowserCredential = new InteractiveBrowserCredentialBuilder()
     .redirectUrl("http://localhost:8765")
     .build();

メソッドの概要

修飾子と型 メソッドと説明
reactor.core.publisher.Mono<AuthenticationRecord> authenticate()

既定のブラウザーを使用してユーザーを対話形式で認証します。

reactor.core.publisher.Mono<AuthenticationRecord> authenticate(TokenRequestContext request)

既定のブラウザーを使用してユーザーを対話形式で認証します。

reactor.core.publisher.Mono<AccessToken> getToken(TokenRequestContext request)
AccessToken getTokenSync(TokenRequestContext request)

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

メソッドの詳細

authenticate

public Mono authenticate()

既定のブラウザーを使用してユーザーを対話形式で認証します。

Returns:

AuthenticationRecord資格情報のインスタンス化時に を介tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions)して永続的なキャッシュが有効にされた場合に、今後の実行時にアカウントをサイレント認証するために使用できる 。

authenticate

public Mono authenticate(TokenRequestContext request)

既定のブラウザーを使用してユーザーを対話形式で認証します。

Parameters:

request - 認証要求の詳細。

Returns:

AuthenticationRecord資格情報のインスタンス化時に 永続的なキャッシュが によって構成tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions)された場合に、今後の実行時にアカウントをサイレント認証するために使用できる 。

getToken

public Mono getToken(TokenRequestContext request)

Parameters:

request

getTokenSync

public AccessToken getTokenSync(TokenRequestContext request)

Parameters:

request

適用対象