WebAuthenticationBroker 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
启动身份验证操作。 可以在单个应用程序中多次调用此类的方法,也可以同时跨多个应用程序调用这些方法。 示例库中的 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
- 继承
- 属性
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。 |