Compartilhar via


WebAuthenticationBroker Classe

Definição

Inicia a operação de autenticação. Você pode chamar os métodos dessa classe várias vezes em um único aplicativo ou em vários aplicativos ao mesmo tempo. O exemplo do agente de autenticação Web na galeria Exemplos é um exemplo de como usar a classe WebAuthenticationBroker para conexões de SSO (logon único).

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
Herança
Object Platform::Object IInspectable WebAuthenticationBroker
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
Funcionalidades do aplicativo
internetClient

Exemplos

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>  

Comentários

Todos os membros dessa classe são estáticos. Você pode acessá-los sem criar um objeto. Para solucionar problemas ao usar essa classe, consulte o log de eventos. Para exibir o log de eventos, inicie Eventvwr.exe e navegue até Logs de Aplicativos e Serviços > Microsoft > Windows > WebAuth > Operational.

Métodos

AuthenticateAndContinue(Uri)

Inicia a operação de autenticação com uma entrada.

AuthenticateAndContinue(Uri, Uri)

Inicia a operação de autenticação com duas entradas.

AuthenticateAndContinue(Uri, Uri, ValueSet, WebAuthenticationOptions)

Inicia a operação de autenticação com quatro entradas.

AuthenticateAsync(WebAuthenticationOptions, Uri)

Inicia a operação de autenticação assíncrona com duas entradas. Você pode chamar esse método várias vezes em um único aplicativo ou em vários aplicativos ao mesmo tempo.

AuthenticateAsync(WebAuthenticationOptions, Uri, Uri)

Inicia a operação de autenticação assíncrona com três entradas. Você pode chamar esse método várias vezes em um único aplicativo ou em vários aplicativos ao mesmo tempo.

AuthenticateSilentlyAsync(Uri)

Inicia a operação de autenticação assíncrona silenciosamente (nenhuma interface do usuário será mostrada) com uma entrada. Você pode chamar esse método várias vezes em um único aplicativo ou em vários aplicativos ao mesmo tempo.

AuthenticateSilentlyAsync(Uri, WebAuthenticationOptions)

Inicia a operação de autenticação assíncrona silenciosamente (nenhuma interface do usuário será mostrada) com duas entradas. Você pode chamar esse método várias vezes em um único aplicativo ou em vários aplicativos ao mesmo tempo.

GetCurrentApplicationCallbackUri()

Obtém o URI de retorno de chamada do aplicativo atual.

Aplica-se a

Confira também