Аутентификация AppAuth - PullRequest
       37

Аутентификация AppAuth

0 голосов
/ 13 февраля 2020

Я хочу использовать AppAuth для моего Android приложения.

Но согласно имеющейся документации, они упоминают, что «WebView явно не поддерживается из-за удобства использования и безопасности».

Мне нужно выполнить аутентификацию внутри приложения, и я не хочу перенаправлять в какой-либо браузер на телефоне из-за требований нашего приложения.

Есть ли способ сделать или какой-нибудь пример для сделайте то же самое.

Я видел множество приложений в магазине игр, которые аутентифицируются Google, Facebook и не перенаправляют в браузер по умолчанию. Вместо перенаправления он открывает всплывающее окно в верхней части текущего действия и выполняет аутентификацию.

Пример " Zomato Application "

enter image description here

1 Ответ

0 голосов
/ 13 февраля 2020

Это решение, которое будет зависеть от браузера, но оно будет в вашем приложении:

Недавно мне нужно было сделать что-то подобное, мне нужно было создать систему комментариев в моем приложении, что уже сделано в веб-браузере я также хотел, чтобы авторизация происходила внутри приложения.

После долгих исследований я пришел к выводу, что самый простой способ сделать это, не отказываясь от веб-просмотра, - позволить браузеру аутентифицировать доступ пользователя, а решение для этой аутентификации происходило "в моем приложении", чтобы использовать "Chrome Пользовательские вкладки", которые позволяют открывать вкладку Google chrome внутри моего приложения, с этим я начал открывать страницы авторизации системы комментариев. внутри вкладок Chrome.

К сожалению, в некоторых случаях просмотр веб-страниц неэффективен, но для некоторых людей это может быть решением, как и для меня, надеюсь, это поможет вам.

запустите вкладку Chrome, когда я добавлю «Intent» в shouldOverrideUrlLoading, ниже приведен пример моего кода. * 100 9 *

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    if  (url.contains("#comments")){
    Uri uri = Uri.parse(url);
    CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
    builder.build().launchUrl(PostActivity.this, uri);
    return true;
    }
    else {
    view.loadUrl(url);
    return true;
    }
}

А в приложении Gradle:

implementation 'androidx.browser:browser:1.3.0-alpha01'
...