次の方法で共有


WebAccountProviderGetTokenSilentOperation クラス

定義

トークンのサイレント取得操作を表します。

public ref class WebAccountProviderGetTokenSilentOperation sealed : IWebAccountProviderSilentReportOperation, IWebAccountProviderTokenOperation
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class WebAccountProviderGetTokenSilentOperation final : IWebAccountProviderSilentReportOperation, IWebAccountProviderTokenOperation
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class WebAccountProviderGetTokenSilentOperation : IWebAccountProviderSilentReportOperation, IWebAccountProviderTokenOperation
Public NotInheritable Class WebAccountProviderGetTokenSilentOperation
Implements IWebAccountProviderSilentReportOperation, IWebAccountProviderTokenOperation
継承
Object Platform::Object IInspectable WebAccountProviderGetTokenSilentOperation
属性
実装

Windows の要件

デバイス ファミリ
Windows 10 (10.0.10240.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v1.0 で導入)

次に、トークンのサイレント取得操作を処理する方法を示します。

void HandleGetTokenSilently(WebAccountProviderGetTokenSilentOperation operation)
{
    try
    {
        WebProviderTokenRequest webProviderTokenRequest = operation.ProviderRequest;
        WebTokenRequest tokenRequest = webProviderTokenRequest.ClientRequest;

        // authenticate silently with the tokenrequest and get back an access token
        WebTokenResponse response = new WebTokenResponse(accessToken); 

        // Add any desired properties to send with the response
        response.Properties.Add("responsePropertyKey1", "responesPropertyValue1");
        response.Properties.Add("responsePropertyKey2", "responsePropertyValue2");

        // send the response
        WebProviderTokenResponse providerResponse = new WebProviderTokenResponse(response, 
                                                        DateTimeOffset.Now.AddHours(1));
        IList<WebProviderTokenResponse> responses = operation.Responses;
        responses.Add(providerResponse);
        operation.ReportCompleted();
    }
    catch (Exception ex)
    {
        WebProviderError error = new WebProviderError(ERROR_CODE, ex.Message);
        operation.ReportError(error);
    }
}

プロパティ

CacheExpirationTime

キャッシュの有効期限を取得または設定します。

Kind

Web アカウント プロバイダー操作の種類を取得します。

ProviderRequest

Web プロバイダー トークン要求を取得します。

ProviderResponses

Web プロバイダー トークンの応答を取得します。

メソッド

ReportCompleted()

操作が正常に完了したことをアクティブ化しているアプリに通知します。

ReportError(WebProviderError)

操作でエラーが発生したことをアクティブ化しているアプリに通知します。

ReportUserInteractionRequired()

操作を続行するためにユーザーの操作が必要であることをアクティブ化しているアプリに通知します。

ReportUserInteractionRequired(WebProviderError)

アクティブ化しているアプリにエラーが発生し、操作を続行するにはユーザーの操作が必要であることを通知します。

適用対象

こちらもご覧ください