Проблема с пользовательским uri-адресом OpenID AppAuth?

#android #android-studio #openid-connect

Вопрос:

Я работаю над libray для выставления счетов за игру , для этого мне нужна аутентификация, и я использую приложение OpenID, но я зациклен на Uri перенаправления . я использовал динамическую связь, но не получил оттуда никакого маркера доступа, поэтому где создать этот uri перенаправления, чтобы получить маркер доступа

    const REDIRECT_URI =""  // Redirect Uri 

    



    
    private  fun getAuthorizationConfiguration()                                                                                         :AuthorizationServiceConfiguration{
    return AuthorizationServiceConfiguration(
        Uri.parse(OpenIdUtils.AUTH_URL),  // authorization endpoint
        Uri.parse(OpenIdUtils.ACCESS_TOKEN_URL)) }  // authorization token


 private fun authorizationRequest(serviceConfiguration: AuthorizationServiceConfiguration) : AuthorizationRequest {

return AuthorizationRequest.Builder(
    serviceConfiguration, // the authorization service configuration
    OpenIdUtils.CLIENT_ID, // the client ID, typically pre-registered and static
    ResponseTypeValues.CODE, // the response_type value: we want a code
    OpenIdUtils.REDIRECT_URI).setScope(OpenIdUtils.SCOPE)
    .build();
}




 fun  doAuthorization(context  : Context) :Intent {
 val authConfiguration =    getAuthorizationConfiguration()
   val authRequest =  authorizationRequest(authConfiguration)
    val  authService  = AuthorizationService(context);

     authService.performAuthorizationRequest(
         authRequest,
         PendingIntent.getActivity(
             context,
             OpenIdUtils.RC_AUTH,
             Intent(context, DemoActivity::class.java),
             0
         ))

    return  authService.getAuthorizationRequestIntent(authRequest);

}



    

        <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.BROWSABLE"/>
            <data android:scheme="https"
                android:host="www.example.com"
                />

        </intent-filter>
 

Ответ №1:

Ну, здесь есть два этапа:

  • Вызовите startActivityForResult с вашим намерением
  • Затем обработайте ответ и вызовите performTokenRequest, чтобы получить токены

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

В первые дни интеграции вы можете начать с пользовательской схемы URI, перенаправляющей URI этой формы, даже если она менее безопасна:

  • com.mycompany.myapp:/обратный звонок

ПРИМЕР HTTPS

Если вы хотите сравнить образец Android, в котором используются URL-адреса HTTPS, взгляните на эти мои ресурсы:

Комментарии:

1. Спасибо, человек , вы можете порекомендовать мне, где я должен развернуть свой логин, файл HTML для выхода из системы и URL обратного вызова