Поделиться через


WebAuthenticationBroker Класс

Определение

Запускает операцию проверки подлинности. Методы этого класса можно вызывать несколько раз в одном приложении или в нескольких приложениях одновременно. Пример брокера веб-проверки подлинности в коллекции Примеры — это пример использования класса WebAuthenticationBroker для подключений единого входа.

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 > Operational.

Методы

AuthenticateAndContinue(Uri)

Запускает операцию проверки подлинности с одним вводом.

AuthenticateAndContinue(Uri, Uri)

Запускает операцию проверки подлинности с двумя входными данными.

AuthenticateAndContinue(Uri, Uri, ValueSet, WebAuthenticationOptions)

Запускает операцию проверки подлинности с четырьмя входными данными.

AuthenticateAsync(WebAuthenticationOptions, Uri)

Запускает асинхронную операцию проверки подлинности с двумя входными данными. Этот метод можно вызывать несколько раз в одном приложении или в нескольких приложениях одновременно.

AuthenticateAsync(WebAuthenticationOptions, Uri, Uri)

Запускает асинхронную операцию проверки подлинности с тремя входными данными. Этот метод можно вызывать несколько раз в одном приложении или в нескольких приложениях одновременно.

AuthenticateSilentlyAsync(Uri)

Запускает асинхронную операцию проверки подлинности автоматически (пользовательский интерфейс не отображается) с одним вводом. Этот метод можно вызывать несколько раз в одном приложении или в нескольких приложениях одновременно.

AuthenticateSilentlyAsync(Uri, WebAuthenticationOptions)

Запускает асинхронную операцию проверки подлинности автоматически (пользовательский интерфейс не отображается) с двумя входными данными. Этот метод можно вызывать несколько раз в одном приложении или в нескольких приложениях одновременно.

GetCurrentApplicationCallbackUri()

Возвращает текущий URI обратного вызова приложения.

Применяется к

См. также раздел