Я пытаюсь настроить 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);
Пожалуйста, помогите мне.Заранее спасибо.