PublicClientApplication class
このクラスは、パブリック クライアント アプリケーション (デスクトップ、モバイル) のトークンを取得するために使用されます。 パブリック クライアント アプリケーションは、アプリケーション シークレットを安全に格納するために信頼されていないため、ユーザーの名前でのみトークンを要求できます。
- Extends
コンストラクター
| Public |
認証の Configuration オブジェクトの重要な属性は次のとおりです。
AAD 機関は、
Azure B2C 機関は、{instance}/{tenant}/{policy} https:// 形式です。 各ポリシーは、独自の権限と見なされます。 クライアント アプリケーションの構築時に、すべての既知の認証を設定する必要があります。 ADFS 機関は、{instance}/adfs https:// 形式です。 |
メソッド
| acquire |
OAuth2.0 デバイス コード フローを使用して、機関からトークンを取得します。 このフローは、ブラウザーにアクセスできない、または入力の制約があるデバイス向けに設計されています。 承認サーバーは、検証コード、エンドユーザー コード、およびエンド ユーザー検証 URI を使用して DeviceCode オブジェクトを発行します。 DeviceCode オブジェクトはコールバックを通じて提供され、エンドユーザーは別のデバイスを使用して検証 URI に移動して資格情報を入力するように指示する必要があります。 クライアントは受信要求を受信できないため、エンド ユーザーが資格情報の入力を完了するまで、承認サーバーを繰り返しポーリングします。 |
| acquire |
認証コードを要求し、トークンと交換することで、ブラウザーを介して対話形式でトークンを取得します。 |
| acquire |
キャッシュから取得したトークン、または更新トークンを新しいアクセス トークンと交換して取得したトークンを返します。 ブローカーが有効になっている場合、トークン要求はブローカーによって処理されます。 |
| get |
このアプリケーションのキャッシュされたすべてのアカウントを返します。 ブローカーが有効になっている場合、この要求はブローカーによって処理されます。 |
| sign |
指定されたアカウントに関連付けられているキャッシュアーティファクトを削除します |
継承されたメソッド
| 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 |
| clear |
キャッシュをクリアする |
| get |
承認要求の URL を作成し、ユーザーが資格情報を入力し、アプリケーションに同意できるようにする。 URL は、アプリケーション オブジェクトで構成された機関の /authorize エンドポイントを対象とします。 ユーザーが資格情報と同意を入力すると、機関は要求で送信されたリダイレクト URI に応答を送信し、承認コードを含める必要があります。このコードを使用して、 |
| get |
ロガー インスタンスを返します。 |
| get |
アプリケーションのトークン キャッシュを取得します。 |
| set |
構成で設定された既定のロガーを新しいロガーに新しい構成に置き換えます |
コンストラクターの詳細
PublicClientApplication(Configuration)
認証の Configuration オブジェクトの重要な属性は次のとおりです。
- clientID: アプリケーションのアプリケーション ID。 アプリケーションを取得するには、アプリケーション登録ポータルでアプリケーションを登録します。
- authority: アプリケーションの機関 URL。
AAD 機関は、 https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}形式です。
- アプリケーションで 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 機関は、{instance}/{tenant}/{policy} https:// 形式です。 各ポリシーは、独自の権限と見なされます。 クライアント アプリケーションの構築時に、すべての既知の認証を設定する必要があります。
ADFS 機関は、{instance}/adfs https:// 形式です。
new PublicClientApplication(configuration: Configuration)
パラメーター
- configuration
- Configuration
メソッドの詳細
acquireTokenByDeviceCode(DeviceCodeRequest)
OAuth2.0 デバイス コード フローを使用して、機関からトークンを取得します。 このフローは、ブラウザーにアクセスできない、または入力の制約があるデバイス向けに設計されています。 承認サーバーは、検証コード、エンドユーザー コード、およびエンド ユーザー検証 URI を使用して DeviceCode オブジェクトを発行します。 DeviceCode オブジェクトはコールバックを通じて提供され、エンドユーザーは別のデバイスを使用して検証 URI に移動して資格情報を入力するように指示する必要があります。 クライアントは受信要求を受信できないため、エンド ユーザーが資格情報の入力を完了するまで、承認サーバーを繰り返しポーリングします。
function acquireTokenByDeviceCode(request: DeviceCodeRequest): Promise<null | AuthenticationResult>
パラメーター
- request
- DeviceCodeRequest
返品
Promise<null | AuthenticationResult>
acquireTokenInteractive(InteractiveRequest)
認証コードを要求し、トークンと交換することで、ブラウザーを介して対話形式でトークンを取得します。
function acquireTokenInteractive(request: InteractiveRequest): Promise<AuthenticationResult>
パラメーター
- request
- InteractiveRequest
返品
Promise<AuthenticationResult>
acquireTokenSilent(SilentFlowRequest)
キャッシュから取得したトークン、または更新トークンを新しいアクセス トークンと交換して取得したトークンを返します。 ブローカーが有効になっている場合、トークン要求はブローカーによって処理されます。
function acquireTokenSilent(request: SilentFlowRequest): Promise<AuthenticationResult>
パラメーター
- request
- SilentFlowRequest
開発者が提供する SilentFlowRequest
返品
Promise<AuthenticationResult>
getAllAccounts()
このアプリケーションのキャッシュされたすべてのアカウントを返します。 ブローカーが有効になっている場合、この要求はブローカーによって処理されます。
function getAllAccounts(): Promise<AccountInfo[]>
返品
Promise<AccountInfo[]>
signOut(SignOutRequest)
指定されたアカウントに関連付けられているキャッシュアーティファクトを削除します
function signOut(request: SignOutRequest): Promise<void>
パラメーター
- request
- SignOutRequest
開発者が提供した SignOutRequest
返品
Promise<void>
継承済みメソッドの詳細
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>
acquireTokenByRefreshToken(RefreshTokenRequest)
新しいトークン セットに対して提供された更新トークンを交換してトークンを取得します。
この API は、ADAL から MSAL に移行するシナリオでのみ提供されます。 それ以外の場合は、サイレント シナリオに acquireTokenSilent() を使用することをお勧めします。
acquireTokenSilent()を使用すると、MSAL はトークンのキャッシュと更新を自動的に処理します。
function acquireTokenByRefreshToken(request: RefreshTokenRequest): Promise<null | AuthenticationResult>
パラメーター
- request
- RefreshTokenRequest
返品
Promise<null | AuthenticationResult>
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
clearCache()
getAuthCodeUrl(AuthorizationUrlRequest)
承認要求の URL を作成し、ユーザーが資格情報を入力し、アプリケーションに同意できるようにする。 URL は、アプリケーション オブジェクトで構成された機関の /authorize エンドポイントを対象とします。
ユーザーが資格情報と同意を入力すると、機関は要求で送信されたリダイレクト URI に応答を送信し、承認コードを含める必要があります。このコードを使用して、 acquireTokenByCode(AuthorizationCodeRequest)経由でトークンを取得できます。
function getAuthCodeUrl(request: AuthorizationUrlRequest): Promise<string>
パラメーター
- request
- AuthorizationUrlRequest
返品
Promise<string>
getLogger()
getTokenCache()
アプリケーションのトークン キャッシュを取得します。
function getTokenCache(): TokenCache
返品
setLogger(Logger)
構成で設定された既定のロガーを新しいロガーに新しい構成に置き換えます
function setLogger(logger: Logger)
パラメーター
- logger
- Logger
Logger インスタンス