ConfidentialClientApplication class
このクラスは、機密クライアント アプリケーション (webApp、webAPI) のトークンを取得するために使用されます。 機密クライアント アプリケーションは、アプリケーション シークレット、クライアント証明書/アサーションを必要に応じて構成します
- Extends
コンストラクター
| Confidential |
ConfidentialClientApplication のコンストラクター Configuration オブジェクトに必要な属性は次のとおりです。
Azure AD では、機関は Azure B2C では、権限は https://{instance}/tfp/{tenant}/{policyName}/ 完全な B2C 機能の形式になります。今後のバージョンでは、このライブラリで完全な B2C 機能を使用できるようになります。 |
メソッド
| acquire |
(エンド ユーザーではなく) アプリケーションの機関からトークンを取得します。 |
| acquire |
アプリケーションの機関からトークンを取得します。 現在のアプリが中間層サービスであり、エンド ユーザーを表すトークンで呼び出されたシナリオで使用されます。 現在のアプリでは、トークン (oboAssertion) を使用して、そのユーザーに代わってダウンストリーム Web API にアクセスするための別のトークンを要求できます。 現在の中間層アプリには、同意を得るためのユーザー操作がありません。 この記事では、中間層アプリの事前の同意を得る方法を参照してください。 https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application |
| Set |
この拡張ポイントは、client_credential フロー (acquireTokenByClientCredential) に対してのみ機能し、マネージド ID のサポートを強化するためのAzure SDK向けです。 |
継承されたメソッド
| acquire |
OAuth2.0 承認コード フローの最初の手順から受信した承認コードを交換してトークンを取得します。
|
| acquire |
新しいトークン セットに対して提供された更新トークンを交換してトークンを取得します。 この API は、ADAL から MSAL に移行するシナリオでのみ提供されます。 それ以外の場合は、サイレント シナリオに |
| acquire |
クライアント アプリケーションのユーザー名とパスワードを資格情報と交換して、パスワード付与を使用してトークンを取得します 最新の OAuth 2.0 セキュリティのベスト カレント プラクティスでは、パスワードの付与が完全に禁止されています。 この推奨事項の詳細については、https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 Microsoftのドキュメントと推奨事項を次に示します。https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword |
| acquire |
ユーザーがトークンが要求されるアカウントを指定すると、トークンをサイレントで取得します。 この API は、ユーザーがアカウント オブジェクトを提供することを想定し、キャッシュを調んでトークンが存在する場合は取得します。
また、access_tokenとid_tokenのキャッシュをバイパスするためにユーザーが送信できる省略可能な "forceRefresh" ブール値もあります。
refresh_tokenの有効期限が切れているか見つからない場合は、エラーがスローされ、ユーザーが対話型トークン取得 API (例: |
| clear |
キャッシュをクリアする |
| get |
承認要求の URL を作成し、ユーザーが資格情報を入力し、アプリケーションに同意できるようにする。 URL は、アプリケーション オブジェクトで構成された機関の /authorize エンドポイントを対象とします。 ユーザーが資格情報と同意を入力すると、機関は要求で送信されたリダイレクト URI に応答を送信し、承認コードを含める必要があります。このコードを使用して、 |
| get |
ロガー インスタンスを返します。 |
| get |
アプリケーションのトークン キャッシュを取得します。 |
| set |
構成で設定された既定のロガーを新しいロガーに新しい構成に置き換えます |
コンストラクターの詳細
ConfidentialClientApplication(Configuration)
ConfidentialClientApplication のコンストラクター
Configuration オブジェクトに必要な属性は次のとおりです。
- clientID: アプリケーションのアプリケーション ID。 アプリケーションを取得するには、アプリケーション登録ポータルでアプリケーションを登録します。
- authority: アプリケーションの機関 URL。
- クライアント資格情報: 機密クライアントのクライアント シークレット、証明書、またはアサーションを設定する必要があります。 クライアント シークレットは、アプリケーション登録ポータルから取得できます。
Azure AD では、機関はhttps://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}形式を示す URL です。
アプリケーションで 1 つの組織ディレクトリのアカウントがサポートされている場合は、"Enter_the_Tenant_Info_Here" の値をテナント ID またはテナント名 (contoso.microsoft.com など) に置き換えます。
アプリケーションで任意の組織ディレクトリのアカウントがサポートされている場合は、"Enter_the_Tenant_Info_Here" の値を組織に置き換えます。
アプリケーションで任意の組織ディレクトリのアカウントと個人用Microsoft アカウントがサポートされている場合は、"Enter_the_Tenant_Info_Here" の値を共通の値に置き換えます。
Personal Microsoft アカウントのみにサポートを制限するには、"Enter_the_Tenant_Info_Here" 値をコンシューマーに置き換えます。
Azure B2C では、権限は https://{instance}/tfp/{tenant}/{policyName}/ 完全な B2C 機能の形式になります。今後のバージョンでは、このライブラリで完全な B2C 機能を使用できるようになります。
new ConfidentialClientApplication(configuration: Configuration)
パラメーター
- configuration
- Configuration
メソッドの詳細
acquireTokenByClientCredential(ClientCredentialRequest)
(エンド ユーザーではなく) アプリケーションの機関からトークンを取得します。
function acquireTokenByClientCredential(request: ClientCredentialRequest): Promise<null | AuthenticationResult>
パラメーター
- request
- ClientCredentialRequest
返品
Promise<null | AuthenticationResult>
acquireTokenOnBehalfOf(OnBehalfOfRequest)
アプリケーションの機関からトークンを取得します。
現在のアプリが中間層サービスであり、エンド ユーザーを表すトークンで呼び出されたシナリオで使用されます。 現在のアプリでは、トークン (oboAssertion) を使用して、そのユーザーに代わってダウンストリーム Web API にアクセスするための別のトークンを要求できます。
現在の中間層アプリには、同意を得るためのユーザー操作がありません。 この記事では、中間層アプリの事前の同意を得る方法を参照してください。 https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application
function acquireTokenOnBehalfOf(request: OnBehalfOfRequest): Promise<null | AuthenticationResult>
パラメーター
- request
- OnBehalfOfRequest
返品
Promise<null | AuthenticationResult>
SetAppTokenProvider(IAppTokenProvider)
この拡張ポイントは、client_credential フロー (acquireTokenByClientCredential) に対してのみ機能し、マネージド ID のサポートを強化するためのAzure SDK向けです。
function SetAppTokenProvider(provider: IAppTokenProvider)
パラメーター
- provider
- IAppTokenProvider
継承済みメソッドの詳細
acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)
OAuth2.0 承認コード フローの最初の手順から受信した承認コードを交換してトークンを取得します。
getAuthCodeUrl(AuthorizationCodeUrlRequest) を使用して、OAuth2.0 承認コード フローの最初の手順の URL を作成できます。 AuthorizationCodeUrlRequest と AuthorizationCodeRequest の redirectUri とスコープの値が同じであることを確認します。
function acquireTokenByCode(request: AuthorizationCodeRequest, authCodePayLoad?: AuthorizationCodePayload): Promise<AuthenticationResult>
パラメーター
- request
- AuthorizationCodeRequest
- authCodePayLoad
- AuthorizationCodePayload
返品
Promise<AuthenticationResult>
ClientApplication.acquireTokenByCodeから継承
acquireTokenByRefreshToken(RefreshTokenRequest)
新しいトークン セットに対して提供された更新トークンを交換してトークンを取得します。
この API は、ADAL から MSAL に移行するシナリオでのみ提供されます。 それ以外の場合は、サイレント シナリオに acquireTokenSilent() を使用することをお勧めします。
acquireTokenSilent()を使用すると、MSAL はトークンのキャッシュと更新を自動的に処理します。
function acquireTokenByRefreshToken(request: RefreshTokenRequest): Promise<null | AuthenticationResult>
パラメーター
- request
- RefreshTokenRequest
返品
Promise<null | AuthenticationResult>
ClientApplication.acquireTokenByRefreshTokenから継承
acquireTokenByUsernamePassword(UsernamePasswordRequest)
警告
この API は非推奨になりました。
- Use a more secure flow instead
クライアント アプリケーションのユーザー名とパスワードを資格情報と交換して、パスワード付与を使用してトークンを取得します
最新の OAuth 2.0 セキュリティのベスト カレント プラクティスでは、パスワードの付与が完全に禁止されています。 この推奨事項の詳細については、https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 Microsoftのドキュメントと推奨事項を次に示します。https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword
function acquireTokenByUsernamePassword(request: UsernamePasswordRequest): Promise<null | AuthenticationResult>
パラメーター
- request
- UsernamePasswordRequest
UsenamePasswordRequest
返品
Promise<null | AuthenticationResult>
Inherited FromClientApplication.acquireTokenByUsernamePassword
acquireTokenSilent(SilentFlowRequest)
ユーザーがトークンが要求されるアカウントを指定すると、トークンをサイレントで取得します。
この API は、ユーザーがアカウント オブジェクトを提供することを想定し、キャッシュを調んでトークンが存在する場合は取得します。
また、access_tokenとid_tokenのキャッシュをバイパスするためにユーザーが送信できる省略可能な "forceRefresh" ブール値もあります。
refresh_tokenの有効期限が切れているか見つからない場合は、エラーがスローされ、ユーザーが対話型トークン取得 API (例: acquireTokenByCode()) を呼び出すガイダンスが表示されます。
function acquireTokenSilent(request: SilentFlowRequest): Promise<AuthenticationResult>
パラメーター
- request
- SilentFlowRequest
返品
Promise<AuthenticationResult>
clearCache()
getAuthCodeUrl(AuthorizationUrlRequest)
承認要求の URL を作成し、ユーザーが資格情報を入力し、アプリケーションに同意できるようにする。 URL は、アプリケーション オブジェクトで構成された機関の /authorize エンドポイントを対象とします。
ユーザーが資格情報と同意を入力すると、機関は要求で送信されたリダイレクト URI に応答を送信し、承認コードを含める必要があります。このコードを使用して、 acquireTokenByCode(AuthorizationCodeRequest)経由でトークンを取得できます。
function getAuthCodeUrl(request: AuthorizationUrlRequest): Promise<string>
パラメーター
- request
- AuthorizationUrlRequest
返品
Promise<string>
ClientApplication.getAuthCodeUrlから継承
getTokenCache()
アプリケーションのトークン キャッシュを取得します。
function getTokenCache(): TokenCache
返品
ClientApplication.getTokenCacheから継承