WebAuthenticationBroker WebAuthenticationBroker WebAuthenticationBroker WebAuthenticationBroker WebAuthenticationBroker Class

Definition

Starts the authentication operation. You can call the methods of this class multiple times in a single application or across multiple applications at the same time. The Web authentication broker sample in the Samples gallery is an example of how to use the WebAuthenticationBroker class for single sign on (SSO) connections.

public : static class WebAuthenticationBroker
static struct winrt::Windows::Security::Authentication::Web::WebAuthenticationBroker
public static class WebAuthenticationBroker
Public Shared Class WebAuthenticationBroker
// This class does not provide a public constructor.
Attributes
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)
Capabilities
internetClient

Examples

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>  

Remarks

All members of this class are static. You can access them without creating an object. To troubleshoot issues when using this class, see the event log. To view the event log, start Eventvwr.exe, and navigate to Application and Services Logs > Microsoft > Windows > WebAuth > Operational.

Methods

AuthenticateAndContinue(Uri) AuthenticateAndContinue(Uri) AuthenticateAndContinue(Uri) AuthenticateAndContinue(Uri) AuthenticateAndContinue(Uri)

Starts the authentication operation with one input.

AuthenticateAndContinue(Uri, Uri) AuthenticateAndContinue(Uri, Uri) AuthenticateAndContinue(Uri, Uri) AuthenticateAndContinue(Uri, Uri) AuthenticateAndContinue(Uri, Uri)

Starts the authentication operation with two inputs.

AuthenticateAndContinue(Uri, Uri, ValueSet, WebAuthenticationOptions) AuthenticateAndContinue(Uri, Uri, ValueSet, WebAuthenticationOptions) AuthenticateAndContinue(Uri, Uri, ValueSet, WebAuthenticationOptions) AuthenticateAndContinue(Uri, Uri, ValueSet, WebAuthenticationOptions) AuthenticateAndContinue(Uri, Uri, ValueSet, WebAuthenticationOptions)

Starts the authentication operation with four inputs.

AuthenticateAsync(WebAuthenticationOptions, Uri) AuthenticateAsync(WebAuthenticationOptions, Uri) AuthenticateAsync(WebAuthenticationOptions, Uri) AuthenticateAsync(WebAuthenticationOptions, Uri) AuthenticateAsync(WebAuthenticationOptions, Uri)

Starts the asynchronous authentication operation with two inputs. You can call this method multiple times in a single application or across multiple applications at the same time.

AuthenticateAsync(WebAuthenticationOptions, Uri, Uri) AuthenticateAsync(WebAuthenticationOptions, Uri, Uri) AuthenticateAsync(WebAuthenticationOptions, Uri, Uri) AuthenticateAsync(WebAuthenticationOptions, Uri, Uri) AuthenticateAsync(WebAuthenticationOptions, Uri, Uri)

Starts the asynchronous authentication operation with three inputs. You can call this method multiple times in a single application or across multiple applications at the same time.

AuthenticateSilentlyAsync(Uri) AuthenticateSilentlyAsync(Uri) AuthenticateSilentlyAsync(Uri) AuthenticateSilentlyAsync(Uri) AuthenticateSilentlyAsync(Uri)

Starts the asynchronous authentication operation silently (no UI will be shown) with one input. You can call this method multiple times in a single application or across multiple applications at the same time.

AuthenticateSilentlyAsync(Uri, WebAuthenticationOptions) AuthenticateSilentlyAsync(Uri, WebAuthenticationOptions) AuthenticateSilentlyAsync(Uri, WebAuthenticationOptions) AuthenticateSilentlyAsync(Uri, WebAuthenticationOptions) AuthenticateSilentlyAsync(Uri, WebAuthenticationOptions)

Starts the asynchronous authentication operation silently (no UI will be shown) with two inputs. You can call this method multiple times in a single application or across multiple applications at the same time.

GetCurrentApplicationCallbackUri() GetCurrentApplicationCallbackUri() GetCurrentApplicationCallbackUri() GetCurrentApplicationCallbackUri() GetCurrentApplicationCallbackUri()

Gets the current application callback URI.

See Also