SSO Okta не возвращается в приложение после входа в систему - PullRequest
0 голосов
/ 19 апреля 2019

Я пытаюсь настроить SSO Authentication для моего приложения для Android.Я нашел учебник по ссылке ниже,

https://codelabs.developers.google.com/codelabs/appauth-android-codelab/#0

Это показывает SSO пример на основе Google.

Я использую Okta для этой цели я создал приложение на Okta и скопировал идентификатор клиента и перенаправил URL-адрес из него в мой проект.

Когда я использую URL-адреса Google (конечная точка аутентификации и токена, идентификатор клиента, перенаправить URL), он работает нормально, т.е. он перенаправляет на страницу входа в Google и после ввода действительных учетных данных, он возвращается к моему приложению.

И при использовании Okta URLs (авторизация иконечная точка токена, идентификатор клиента, URL-адрес перенаправления), он правильно перенаправляет меня на страницу входа в Okta, но после ввода действительных учетных данных он не возвращается в мое приложение, т. е. страница входа не закрывается.

Ниже приведен код, который я использую для SSO входа в систему,

AuthorizationServiceConfiguration serviceConfiguration = new AuthorizationServiceConfiguration(
    //Uri.parse("https://accounts.google.com/o/oauth2/v2/auth") /* google auth endpoint */,
    //Uri.parse("https://www.googleapis.com/oauth2/v4/token") /* google token endpoint */
    Uri.parse("https://dev-636680.okta.com/oauth2/default/v1/authorize") /* okta auth endpoint */,
    Uri.parse("https://dev-636680.okta.com/oauth2/default/v1/token") /* okta token endpoint */
);

//String clientId = "511828570984-fuprh0cm7665emlne3rnf9pk34kkn86s.apps.googleusercontent.com";  // google 
String clientId = "0oahkjjk3oszDWqvZ356";                                // Okta
//Uri redirectUri = Uri.parse("com.google.codelabs.appauth:/oauth2callback");      // google
Uri redirectUri = Uri.parse("com.okta.dev-636680:/callback");            //okta
AuthorizationRequest.Builder builder = new AuthorizationRequest.Builder(
    serviceConfiguration,
    clientId,
    AuthorizationRequest.RESPONSE_TYPE_CODE,
    redirectUri
);
builder.setScopes("openid", "profile", "offline_access", "email");

AuthorizationRequest request = builder.build();

AuthorizationService authorizationService = new 
    AuthorizationService(view.getContext());

String action = "com.google.codelabs.appauth.HANDLE_AUTHORIZATION_RESPONSE";
Intent postAuthorizationIntent = new Intent(action);
PendingIntent pendingIntent = PendingIntent.getActivity(view.getContext(), request.hashCode(), postAuthorizationIntent, 0);
authorizationService.performAuthorizationRequest(request, pendingIntent);

Пожалуйста, помогите мне.Заранее спасибо.

...