WebAuthenticationBroker Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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 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
- Inheritance
- Attributes
Windows requirements
Device family |
Windows 10 (introduced in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduced in v1.0)
|
App 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, Uri, ValueSet, WebAuthenticationOptions) |
Starts the authentication operation with four inputs. |
AuthenticateAndContinue(Uri, Uri) |
Starts the authentication operation with two inputs. |
AuthenticateAndContinue(Uri) |
Starts the authentication operation with one input. |
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. |
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. |
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. |
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. |
GetCurrentApplicationCallbackUri() |
Gets the current application callback URI. |