Код: Выделить всё
import { GoogleSignin } from '@react-native-google-signin/google-signin';
if (Platform.OS === 'android') {
GoogleSignin.configure({
offlineAccess: true,
webClientId: process.env.EXPO_PUBLIC_GOOGLE_WEB_CLIENT_ID as string,
});
}
const signInWithGoogle = async () => {
try {
const userInfo = await GoogleSignin.signIn();
} catch(error) {
console.log(error) // DEVELOPER ERROR HERE
}
};
Код: Выделить всё
{
"expo": {
"android": {
"package": "com.something.myapp",
},
"plugins": [
"@react-native-google-signin/google-signin"
]
}
}
Чтобы получить отпечаток SHA1, я запускаю учетные данные eas, выберите Android< /code>, затем разработка.
Это то, что я позже вставлю в клиент oauth проекта Google.
Поддельный отпечаток пальца выглядит так Итак:
Отпечаток пальца SHA1 11:00:22:EE:11:31:9F:80:3E:AA:80:3A:1D:AA:13:BE:3B:00:00:00
Что касается проекта Google:
- Я настроил экран согласия oauth
Я добавил 3 неконфиденциальных области действия: электронная почта, профиль и openid - Я установил тип пользователя «Внешний».
- Я также добавил учетную запись Google, которую использую для проверки функции входа в систему для тестирования пользователей.
- li>
- Один для Android, куда я вставил отпечаток SHA1, сгенерированный выставкой, и имя пакета из app.json
- Другой для Интернета (я использую этот идентификатор клиента в вызове .configure())
Я также использую Supabase, но не могу получить токен, чтобы даже запустить процесс входа с использованием идентификатора токена.
Я попытался включить идентификаторы клиентов OAuth 2.0 для каждой среды Expo (вместе с ее соответствующий отпечаток SHA1) и даже пытался добавить его из локального файла ~/.android. Однако мне не удалось найти ни одного подробного руководства, которое помогло бы мне пройти весь процесс, от начальной настройки до окончательной реализации.
Я предполагаю, что делаю что-то не так в GCP. , но я не знаю наверняка.
Подробнее здесь: https://stackoverflow.com/questions/793 ... veloper-er
Мобильная версия