Реагируйте на Google Signin с несколькими аккаунтами - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть собственное приложение, которое использует вход в Google. В настоящее время я могу войти в систему с помощью одной из своих учетных записей Google, на которой зарегистрирован мой мобильный телефон, но мне нужно сделать OAuth для другой учетной записи Google. в моем стеке аккаунтов Google это для доступа к API. Мне нужен serverAuthToken для дополнительных аккаунтов

Библиотека, которую я использую для входа в Google - https://github.com/react-native-community/google-signin

Что я делал до сих пор:

const firebaseGoogleLogin = async () => {
    try {
      await GoogleSignin.hasPlayServices();
      const userInfo = await GoogleSignin.signIn();
      if (userInfo) {
        await storeToken(userInfo);
        // eslint-disable-next-line no-console
        console.log('User info retrieved during login', userInfo);
      }
      // create a new firebase credential with the token
      // eslint-disable-next-line max-len
      const credential = firebase.auth.GoogleAuthProvider.credential(userInfo.idToken, userInfo.accessToken);
      // login with credential
      // eslint-disable-next-line no-unused-vars
      const firebaseUserCredential = await firebase.auth().signInWithCredential(credential);
      console.log('Logged in')
    } catch (error) {
      if (error.code === statusCodes.SIGN_IN_CANCELLED) {
        console.log('sign in cancelled', error);
      } else if (error.code === statusCodes.IN_PROGRESS) {
        console.log('signin in progress error', error);
      } else if (error.code === statusCodes.PLAY_SERVICES_NOT_AVAILABLE) {
        console.log('play services are not available or outdated', error);
      } else {
        console.log('some other error occurred', error);
      }
    }
  };

Результат для кода выше:

Это код, который я использовал для входа в свою основную учетную запись Google, после входа я при запуске модальных сервисов воспроизведения для входа с другими учетными записями, используя описанное выше, но модальный закрывается с загрузкой se c и закрывается, показывает мне Logged in в журнале, поскольку я уже вошел в систему, в сервисах воспроизведения автоматически Обойти возможность выбора учетной записи

Вышеуказанная проблема возникает только в android, ios, кажется, нормально даже после входа в систему с учетной записью

* 1 023 * Попытка взломать, если нет способа для авторизации нескольких учетных записей, так как учетная запись, уже вошедшая в нее, обходит модал службы воспроизведения, я думаю выйти из системы пользователя, как только он вошел в мое приложение (уровень процесса ) а внутри основной деятельности у меня могут быть сервисы игры еще? это правильный способ сделать!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...