WebAuthenticationBroker 类

定义

启动身份验证操作。 可以在单个应用程序中多次调用此类的方法,也可以同时跨多个应用程序调用这些方法。 示例库中的 Web 身份验证代理示例 是如何使用 WebAuthenticationBroker 类进行单一登录 (SSO) 连接的示例。

public ref class WebAuthenticationBroker abstract sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class WebAuthenticationBroker final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public static class WebAuthenticationBroker
Public Class WebAuthenticationBroker
继承
Object Platform::Object IInspectable WebAuthenticationBroker
属性

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)
应用功能
internetClient

示例

private void OutputToken(String TokenUri)
{
   Page outputFrame = (Page)rootPage.OutputFrame.Content;
   TextBox FacebookReturnedToken = outputFrame.FindName("FacebookReturnedToken") as TextBox;
   FacebookReturnedToken.Text = TokenUri;
}


try
{
    String FacebookURL = "https://www.facebook.com/dialog/oauth?client_id=" + FacebookClientID.Text + "&redirect_uri=" + Uri.EscapeUriString(FacebookCallbackUrl.Text) + "&scope=read_stream&display=popup&response_type=token";

    System.Uri StartUri = new Uri(FacebookURL);
    System.Uri EndUri = new Uri(FacebookCallbackUrl.Text);

    WebAuthenticationResult WebAuthenticationResult = await WebAuthenticationBroker.AuthenticateAsync(
                                            WebAuthenticationOptions.None,
                                            StartUri,
                                            EndUri);
    if (WebAuthenticationResult.ResponseStatus == WebAuthenticationStatus.Success)
    {
        OutputToken(WebAuthenticationResult.ResponseData.ToString());
    }
    else if (WebAuthenticationResult.ResponseStatus == WebAuthenticationStatus.ErrorHttp)
    {
        OutputToken("HTTP Error returned by AuthenticateAsync() : " + WebAuthenticationResult.ResponseErrorDetail.ToString());
    }
    else
    {
        OutputToken("Error returned by AuthenticateAsync() : " + WebAuthenticationResult.ResponseStatus.ToString());
    }
}
catch (Exception Error)
{
    //
    // Bad Parameter, SSL/TLS Errors and Network Unavailable errors are to be handled here.
    //
}
<TextBlock x:Name="InputTextBlock1"  TextWrapping="Wrap" Grid.Row="0" Style="{StaticResource BasicTextStyle}" HorizontalAlignment="Left" > 
    Connect to Facebook using the OAuth 2.0 protocol for authentication and authorization. 
</TextBlock> 
<StackPanel Orientation="Vertical" Margin="0,10,0,0" Grid.Row="1"> 
    <StackPanel Orientation="Horizontal"> 
        <TextBlock TextWrapping="Wrap" Style="{StaticResource BasicTextStyle}" Text="App ID   : " VerticalAlignment="Bottom"/> 
        <TextBox x:Name="FacebookClientID" Height="14" Width="173" Text=""/> 
    </StackPanel> 
    <StackPanel Orientation="Horizontal"> 
        <TextBlock TextWrapping="Wrap" Style="{StaticResource BasicTextStyle}" Text="Site URL : " VerticalAlignment="Bottom"/> 
        <TextBox x:Name="FacebookCallbackUrl" Height="14" Width="433" Text=""/> 
    </StackPanel> 
    <StackPanel Orientation="Vertical" Margin="0,10,0,0"> 
        <Button x:Name="Launch" Content="Launch" Margin="0,0,10,0" Click="Launch_Click"/> 
    </StackPanel> 
</StackPanel>  

注解

此类的所有成员都是静态的。 无需创建 对象即可访问它们。 若要排查使用此类时出现的问题,请参阅事件日志。 若要查看事件日志,请启动 Eventvwr.exe,然后导航到“应用程序和服务日志 > ”“Microsoft > Windows > WebAuth > 操作”。

方法

AuthenticateAndContinue(Uri)

使用一个输入启动身份验证操作。

AuthenticateAndContinue(Uri, Uri)

使用两个输入启动身份验证操作。

AuthenticateAndContinue(Uri, Uri, ValueSet, WebAuthenticationOptions)

使用四个输入启动身份验证操作。

AuthenticateAsync(WebAuthenticationOptions, Uri)

使用两个输入启动异步身份验证操作。 可以在单个应用程序中多次调用此方法,也可以同时跨多个应用程序调用此方法。

AuthenticateAsync(WebAuthenticationOptions, Uri, Uri)

使用三个输入启动异步身份验证操作。 可以在单个应用程序中多次调用此方法,也可以同时跨多个应用程序调用此方法。

AuthenticateSilentlyAsync(Uri)

以无提示方式启动异步身份验证操作, (一个输入) 不会显示任何 UI。 可以在单个应用程序中多次调用此方法,也可以同时跨多个应用程序调用此方法。

AuthenticateSilentlyAsync(Uri, WebAuthenticationOptions)

以无提示方式启动异步身份验证操作, (不会显示带有两个输入) UI。 可以在单个应用程序中多次调用此方法,也可以同时跨多个应用程序调用此方法。

GetCurrentApplicationCallbackUri()

获取当前应用程序回调 URI。

适用于

另请参阅