#react-native #oauth #expo #google-authentication
Вопрос:
Я пытаюсь авторизовать вход в Google с помощью Google from expo-auth-session/providers/google";
.
Мне нужно получить конкретный тип ответа, который таков id_token
. В expo это работает, Google возвращает все, что мне нужно, но в автономном режиме Google выдает ошибку, что такой тип ответа не поддерживается. Если я опущу это свойство, все будет работать нормально, но я не получу id_token, так что это мне не поможет.
Я хотел знать, есть ли обходной путь для этого ?
Ответ №1:
Альтернатива 1 — Добавить responseType: 'id_token'
в useAuthRequest
const [requestIdToken, responseIdToken, promptAsyncIdToken] =
Google.useAuthRequest({
responseType: 'id_token',
androidClientId: GOOGLE_CLIENT_ID_ANDROID,
iosClientId: GOOGLE_CLIENT_ID_IOS,
expoClientId: GOOGLE_CLIENT_WEB_EXPO,
scopes: ['profile', 'email'],
})
Альтернатива 2 — Попробуйте изменить свой useAuthRequest
useIdTokenAuthRequest
Ответ №2:
Замена useAuthRequest
на `useIdTokenAuthRequest отлично сработала для меня.
В документах они показаны только useIdTokenAuthRequest
для использования с firebase, но он работает со всеми теми же аргументами, что и обычный useAuthRequest
метод