#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 обратного вызова