Аутентификация Google через Cognito, неспособная перенаправить приложение в проекте выставки React-native с использованиAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Аутентификация Google через Cognito, неспособная перенаправить приложение в проекте выставки React-native с использовани

Сообщение Anonymous »

Я настроил аутентификацию Google через Cognito в своем мобильном приложении expo, поддерживающем реакцию.
Используя библиотеку expo-auth-session, я создаю вызов моего пула пользователей Cognito, который перенаправляется на сайт account.google.com, который после аутентификации перенаправляется обратно в Cognito, который затем перенаправляется обратно в приложение.
Этот процесс отлично работает на моем эмуляторе iPhone, но на моем эмуляторе Android происходит сбой.
Я могу успешно отобразить веб-представление в приложении в Android, ввести данные своей учетной записи, но после этого во входном окне появляется пустой экран. браузер приложения, и меня не перенаправляют обратно в мое приложение.
Поскольку все взято с выставки, я ожидаю, что оно будет работать, не затрагивая собственные файлы.
У меня нет идей, так как это работает для IPhone, я сомневаюсь, что это связано с кодом внешнего интерфейса или серверной части.
Я дважды, трижды и четырежды проверял, есть ли URI перенаправления правильный, и в app.json добавлена ​​специфичная для Android схема и конфигурация хоста.
Ничего не изменилось.
Я не уверен, как устранить эту проблему, поскольку в бэкэнде все работает нормально. Пользователь аутентифицирован, функция пост-подтверждения запускается и выполняется, но во внешний интерфейс ничего не доходит. Наш прослушиватель, который ожидает изменения переменной ответа, никогда не срабатывает.
Мне интересно, связано ли это с какой-то собственной конфигурацией... безопасностью, сетью, настройками глубоких ссылок... Но этим всем должна управлять выставка, поскольку это выставочный проект и библиотека.
Я был бы очень признателен за любую помощь и/или идеи по этой теме. Заранее спасибо!

Некоторые коды:
App.json

Код: Выделить всё

    "android": {
"adaptiveIcon": {
"foregroundImage": "./assets/images/adaptive-icon.png",
"backgroundColor": "#ffffff"
},
"package": "com.fluentpal.frontend",
"intentFilters": [
{
"action": "VIEW",
"data": [
{"scheme": "fluentpal", "host": "oauth2_redirect"}
],
"category": ["BROWSABLE", "DEFAULT"]
}
]
},
Запрос аутентификации

Код: Выделить всё

    const redirectUri = 'fluentpal://oauth2_redirect';
const discoveryDocument = {
authorizationEndpoint: `${userPoolUrl}/oauth2/authorize`,
tokenEndpoint: `${userPoolUrl}/oauth2/token`,
revocationEndpoint: `${userPoolUrl}/oauth2/revoke`,
};
const [request, response, promptAsync] = useAuthRequest(
{
clientId,
responseType: ResponseType.Code,
redirectUri,
usePKCE: true,
scopes: ['openid', 'profile', 'email', 'aws.cognito.signin.user.admin'],
extraParams: {
identity_provider: 'Google',
prompt: 'login',
}
},
discoveryDocument
);
Прослушиватель

Код: Выделить всё

    useEffect(() => {
if (response) {
// Check if the response is of type error
if ('error' in response && response.error) {
Alert.alert(
'Authentication Error',
response.params.error_description || 'Something went wrong'
);
return;
}
if (response.type === 'success') {
exchangeTokens({
clientId,
code: response.params.code,
redirectUri,
extraParams: {
code_verifier: request?.codeVerifier,
},
});
}
}
}, [request, response]);
ПУСТОЙ ЭКРАН ЭМУЛЯТОРА ANDROID

Подробнее здесь: https://stackoverflow.com/questions/787 ... on-in-reac
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»