Skip to content

WebView2

Bogdan Gavril edited this page Mar 17, 2021 · 15 revisions

What is WebView2

A modern embedded browser based on Microsoft Edge, capable of performing Windows Hello, log in with FIDO keys etc. This browser replaces the old embedded webview, based on an outdated version of Internet Explorer.

Where is it available?

  • All Windows versions
  • MSAL version 4.28.0 or higher
  • WebView2 Runtime must be installed on the machine

Evergreen runtime

WebView2 runtime is not available on Windows by default. Applications should install it or guide end users to install it. Installing it requires admin access.

Fixed runtime

As an alternative to the evergreen runtime, apps can bundle a fixed runtime.

var builder = pca.AcquireTokenInteractive(scopes)
  .WithUseEmbeddedWebView(true);

// checks for the evergreen WebView2 runtime 
if (!pca.IsEmbeddedWebViewAvailable())
{
    builder = builder.WithEmbeddedWebViewOptions(
        new EmbeddedWebViewOptions()
        {
            WebView2BrowserExecutableFolder = @"c:\my_app\webview2\fixed_version"
        });
}

Changes to call pattern


var pca = PublicClienntApplicationBuilder.Create("client_id")
.WithDesktopFeatures()
.Build()

Behaviour

Embedded WebView Default WebView
NET Fx WebView2, fallback to Legacy Embedded
NET Core WebView2 only Embedded
NET 5 WebView2 only Embedded

Getting started with MSAL.NET

Acquiring tokens

Desktop/Mobile apps

Web Apps / Web APIs / daemon apps

Advanced topics

News

FAQ

Other resources

Clone this wiki locally