Angular / Typescript API входа в Google с помощью ux_mode: redirect - PullRequest
1 голос
/ 28 марта 2019

У меня возникают проблемы, когда я использую метод входа в Google с всплывающим окном, решение завершено, и я получаю пользователя из API Google, но когда я использую параметр ux_mode: 'redirect' для метода входа после входа, я не могу разрешить пользователя. Я пытался подключиться по https, но все еще не работал, также я зарегистрировал URI перенаправления на консоль Google. Вот код, который я использую.

initClient() {
return new Promise((resolve, reject) => {
  gapi.load('client:auth2', () => {
    gapi.client
      .init({
        clientId: 'some client id',
        discoveryDocs: 'discovery',
        scope: 'some scope',
      })
      .then(
        () => {
          gapi.client.setApiKey('key');
          resolve();
        }
      );
  });
});

}

login() {
this.initClient().then(() => {
    gapi.auth2
      .getAuthInstance()
      .signIn({
        ux_mode: 'redirect'  //with redirect mode doesn't resolve user
      })
      .then(
        (user) => {
            user.getBasicProfile(),
            user.getAuthResponse()
            // put user on backend
        },

1 Ответ

0 голосов
/ 06 апреля 2019

Я обнаружил, что перенаправление Google не возвращает обещание. Возвращается и URL с информацией о логине. Я решил это путем обращения к нему с помощью window.location.has и получил от него информацию.

const hash = window.location.hash ? window.location.hash.split('#') : [];
...