[Obsolete] // because parent is obsolete public override bool ShouldOverrideUrlLoading(WebView view, string url) { Uri uri = new Uri(url); if (url.StartsWith(BrokerConstants.BrowserExtPrefix, StringComparison.OrdinalIgnoreCase)) { // TODO(migration): Figure out how to get logger into this class. MsalLogger.Default.Verbose("It is browser launch request"); OpenLinkInBrowser(url, Activity); view.StopLoading(); Activity.Finish(); return(true); } if (url.StartsWith(BrokerConstants.BrowserExtInstallPrefix, StringComparison.OrdinalIgnoreCase)) { // TODO(migration): Figure out how to get logger into this class. MsalLogger.Default.Verbose("It is an azure authenticator install request"); view.StopLoading(); Finish(Activity, url); return(true); } if (url.StartsWith(BrokerConstants.ClientTlsRedirect, StringComparison.OrdinalIgnoreCase)) { string query = uri.Query; if (query.StartsWith("?", StringComparison.OrdinalIgnoreCase)) { query = query.Substring(1); } Dictionary <string, string> keyPair = CoreHelpers.ParseKeyValueList(query, '&', true, false, null); string responseHeader = DeviceAuthHelper.CreateDeviceAuthChallengeResponseAsync(keyPair).Result; Dictionary <string, string> pkeyAuthEmptyResponse = new Dictionary <string, string> { [BrokerConstants.ChallangeResponseHeader] = responseHeader }; view.LoadUrl(keyPair["SubmitUrl"], pkeyAuthEmptyResponse); return(true); } if (url.StartsWith(_callback, StringComparison.OrdinalIgnoreCase)) { Finish(Activity, url); return(true); } if (!url.Equals(AboutBlankUri, StringComparison.OrdinalIgnoreCase) && !uri.Scheme.Equals(Uri.UriSchemeHttps, StringComparison.OrdinalIgnoreCase)) { UriBuilder errorUri = new UriBuilder(_callback) { Query = string.Format( CultureInfo.InvariantCulture, "error={0}&error_description={1}", AuthError.NonHttpsRedirectNotSupported, AuthErrorMessage.NonHttpsRedirectNotSupported) }; Finish(Activity, errorUri.ToString()); return(true); } return(false); }
public static string DecodeToString(string arg) { byte[] decoded = DecodeToBytes(arg); return(CoreHelpers.CreateString(decoded)); }