May 21, 2016 Mobile Mouse Remote is a great app that turns your iOS device into a powerful utilitarian accessory for your Mac or PC. So far, we’ve shown you how the app can be used as a mouse or trackpad for your computer and how you can use the app as a remote control for your computer, but it also has a lot of keyboard functionality built into it to make your device into a software-based keyboard for. Jun 23, 2020 For smooth, hassle-free, fast, and secure transmission of your data, external CD/DVD drive is the best solution for your Mac. Note that you can buy any CD or DVD with maximum data storage capacity and then transfer your data from one computer to another. You may also like to refer: Best MacBook Pro/Air Stands; External USB-C Hard Drives for Mac. To receive the latest developer news, visit and subscribe to our News and Updates.
A web browser is required for interactive authentication. On iOS and macOS 10.15+, the Microsoft Authentication Library (MSAL) uses the system web browser by default (which might appear on top of your app) to do interactive authentication to sign in users. Using the system browser has the advantage of sharing the Single Sign On (SSO) state with other applications and with web applications.
You can change the experience by customizing the configuration to other options for displaying web content, such as:
For iOS only:
For iOS and macOS:
- WKWebView.
MSAL for macOS only supports WKWebView
on older OS versions. ASWebAuthenticationSession
is only supported on macOS 10.15 and above.
System browsers
For iOS, ASWebAuthenticationSession
, SFAuthenticationSession
, and SFSafariViewController
are considered system browsers. For macOS, only ASWebAuthenticationSession
is available. In general, system browsers share cookies and other website data with the Safari browser application.
By default, MSAL will dynamically detect iOS version and select the recommended system browser available on that version. On iOS 12+ it will be ASWebAuthenticationSession
.
Default configuration for iOS
VersionWeb browseriOS 12+ASWebAuthenticationSessioniOS 11SFAuthenticationSessioniOS 10SFSafariViewController
Default configuration for macOS
Extern C For Mac Application
VersionWeb browsermacOS 10.15+ASWebAuthenticationSessionother versionsWKWebView
Developers can also select a different system browser for MSAL apps:
SFAuthenticationSession
is the iOS 11 version ofASWebAuthenticationSession
.SFSafariViewController
is more general purpose and provides an interface for browsing the web and can be used for login purposes as well. In iOS 9 and 10, cookies and other website data are shared with Safari--but not in iOS 11 and later.
In-app browser
WKWebView is an in-app browser that displays web content. It doesn’t share cookies or web site data with other WKWebView instances, or with the Safari browser. WKWebView is a cross-platform browser that is available for both iOS and macOS.
Cookie sharing and Single sign-on (SSO) implications
The browser you use impacts the SSO experience because of how they share cookies. The following tables summarize the SSO experiences per browser.
TechnologyBrowser TypeiOS availabilitymacOS availabilityShares cookies and other dataMSAL availabilitySSOASWebAuthenticationSessionSystemiOS12 and upmacOS 10.15 and upYesiOS and macOS 10.15+w/ Safari instancesSFAuthenticationSessionSystemiOS11 and upN/AYesiOS onlyw/ Safari instancesSFSafariViewControllerSystemiOS11 and upN/ANoiOS onlyNo**SFSafariViewControllerSystemiOS10N/AYesiOS onlyw/ Safari instancesWKWebViewIn-appiOS8 and upmacOS 10.10 and upNoiOS and macOSNo**
** For SSO to work, tokens need to be shared between apps. This requires a token cache, or broker application, such as Microsoft Authenticator for iOS.
Change the default browser for the request
You can use an in-app browser, or a specific system browser depending on your UX requirements, by changing the following property in MSALWebviewParameters
:
Extern C For Mac Apps
Change per interactive request
Each request can be configured to override the default browser by changing the MSALInteractiveTokenParameters.webviewParameters.webviewType
property before passing it to the acquireTokenWithParameters:completionBlock:
API.
Additionally, MSAL supports passing in a custom WKWebView
by setting the MSALInteractiveTokenParameters.webviewParameters.customWebView
property.
For example:
Objective-C
Swift
If you use a custom webview, notifications are used to indicate the status of the web content being displayed, such as:
Options
All MSAL supported web browser types are declared in the MSALWebviewType enum
Next steps
Learn more about Authentication flows and application scenarios