UWP - Google начнет блокировать входы из встроенного браузера - PullRequest
0 голосов
/ 07 мая 2019

Google недавно объявили, что в июне они начнут блокировать входы из встроенных структур браузера: [1] https://venturebeat.com/2019/04/18/google-will-begin-to-block-sign-ins-from-embedded-browser-frameworks-in-june/

Я довольно новичок в разработке UWP и использую в своем приложении Google SSO с собственным веб-браузером. У меня такой вопрос: является ли нативный веб-просмотр одним из браузеров, которые Google будет блокировать, и если да, каковы альтернативы?

это мой код для использования единого входа в Google:

XAML:

<views:MvxWindowsPage
x:Class="Windows.Views.GoogleSSOView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:uc="using:Windows.UserControls"
xmlns:views="using:Cirrious.MvvmCross.WindowsCommon.Views"
mc:Ignorable="d">

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

    <WebView x:Name="googleWebView"
           HorizontalAlignment="Stretch"
      VerticalAlignment="Stretch"/>

</Grid>

.cs:

    public sealed partial class GoogleSSOView : MvxWindowsPage
{
    const string tokenEndpoint = "https://www.googleapis.com/oauth2/v4/token";
    const string googleapisString = "www.googleapis.com";



    public GoogleSSOView()
    {
        this.InitializeComponent();
        this.Loaded += GoogleSSOView_Loaded;
        googleWebView.NavigationStarting += webView_NavigationStarting;

    }

    private void GoogleSSOView_Loaded(object sender, RoutedEventArgs e)
    {
        var context = this.DataContext as GoogleSSOViewModel;
        if (context != null)
        {
            context.NavigateToURL += NavigateToUrl;
        }

        if (!String.IsNullOrEmpty(context.Url))
        {
            NavigateToUrl(context.Url);
        }
    }

    private void NavigateToUrl(string url)
    {
        if (!String.IsNullOrEmpty(url))
        {
            googleWebView.Navigate(new Uri(url));
        }
    }

    void webView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args)
    {
        if (args.Uri.ToString() != null && args.Uri.ToString().Contains(googleapisString))
        {
            parseURI(args.Uri.ToString());
        }
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...