Аутентификация Google с функциями Azure - PullRequest
0 голосов
/ 29 мая 2018

Что я пытаюсь сделать, так это то, что пользователь должен войти в Google с моим приложением форм Xamarin, а затем приложение должно проверить маркер пользователя на сервере.Так что я ввел логин в Xamarin с Xamarin.Auth и смог получить следующие токены:

  • access_token
  • refresh_token
  • id_token

Когда я читаю документацию по аутентификации функций Azure, я должен сделать запрос POST и предоставить id_token в качестве client_id для https://mysite.azurewebsites.net/.auth/login/google в теле в виде JSON.

Это приводит к

400 - неверные учетные данные клиента

от почтальона.

В Google APIS / Services у меня есть одно приложение с двумя учетными данными

  • Вкл. Для Android для моего приложения
  • Вкл. Для веб-приложения для моих функций Azure

Я следовал руководству и включил аутентификацию Google в своей функции Azure с помощью идентификатора приложения и секрета.

Код Xamarin:

    public partial class LoginPage : ContentPage
    {
        public static OAuth2Authenticator Auth;
        public AuthenticatorPage AuthPage;
        public LoginPage()
        {
            InitializeComponent();

            Auth = new OAuth2Authenticator(
                "AndroidGoogleApiIdString.apps.googleusercontent.com",
                string.Empty,
                "email",
                new Uri("https://accounts.google.com/o/oauth2/v2/auth"),
                new Uri("com.companyname.AppName:/oauth2redirect"),
                new Uri("https://www.googleapis.com/oauth2/v4/token"),
                null,
                true);

            Auth.CreateRequestQueryParameters(new System.Collections.Generic.Dictionary<string, string>()
            {
                {"requestServerAuthCode", "AzureFunctionGoogleAppIdString.apps.googleusercontent.com" },
                {"response_type", "code" }
            });

            AuthPage = new AuthenticatorPage(Auth);

            Auth.Completed += Auth_Completed;
            Auth.Error += Auth_Error;
        }

        ...
}

Настройка функции Azure.Azure function authentication screenshot

...