Я создаю приложение для Android, которое требует аутентификации у внешнего поставщика auth. Так что я использую react-native-oauth пакет для обработки этого.
Определенная redirect_uri - это глубокая ссылка, которая должна идеально открывать мое приложение после успешной проверки подлинности. Но WebView, похоже, не обрабатывает это перенаправление, и я получаю ответ, поскольку 404-страница не найдена.
Это служба, которую я написал для обработки auth:
const manager = new OAuthManager('<app_name>')
manager.addProvider({
'provider': {
auth_version: '2.0',
authorize_url:'<auth-url>',
access_token_url: '<auth-url>/token',
callback_url: 'http://localhost/provider',
}
});
manager.configure({
provider: {
client_id: '<id>',
client_secret: '<secret>',
redirect_uri: '<redirect-uri>' //DEEP LINK HERE
}
});
module.exports = {
authManager: () => {
manager.authorize('<provider>')
.then(resp => console.log(resp))
.catch(err => console.log(err));
}
}
Также я определил свой фильтр намерений, как указано в документах Android на как объявить глубокие ссылки для ваших приложений. отлично работает при открытии с помощью Linking.openURL() из компонентов приложения.
Любая помощь в этом очень ценится.