Android: Google OAuth 2.0 со ссылками на приложения: redirect_uri_mismatchAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android: Google OAuth 2.0 со ссылками на приложения: redirect_uri_mismatch

Сообщение Anonymous »

Моя задача — настроить Google OAuth 2.0 для получения кода авторизации (не токена) для последующего использования.
Включение пользовательской схемы Uri в Google Cloud Использование консоли не рекомендуется.
Поэтому для этого я использую Ссылки на приложения.
Проблема в том, что я получаю исключение redirect_uri_mismatch.
Что я сделал:
Добавил https://example.com/.well-known/assetlinks.json с моим отладочным отпечатком:

Код: Выделить всё

{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.mypackage.app",
"sha256_cert_fingerprints":
["FB:34:15:34:8F:6B:[...]"]
}
}]
Добавлен фильтр намерений: Для создания запроса использовал AppAuth-Android:

Код: Выделить всё

    val serviceConfiguration = AuthorizationServiceConfiguration(
Uri.parse("https://accounts.google.com/o/oauth2/v2/auth"),  // Authorization endpoint
Uri.parse("https://www.googleapis.com/oauth2/v4/token")     // Token endpoint
)

val redirect = "https://example.com"

val authRequestBuilder = AuthorizationRequest.Builder(
serviceConfiguration,  // the authorization service configuration
GOOGLE_CLIENT_ID,  // the client ID
ResponseTypeValues.CODE,  // the response_type value: we want a code
Uri.parse(redirect)) // the redirect URI to which the auth response is sent

val authRequest = authRequestBuilder
.setScope("openid email profile")
.setState(state)
.build()

val authService = AuthorizationService(this)

// An Intent that will handle the redirect result
val redirectIntent = Intent(this, SignUpActivity::class.java)
.setAction(redirect)

authService.performAuthorizationRequest(
authRequest,
PendingIntent.getActivity(this, 0, redirectIntent, PendingIntent.FLAG_IMMUTABLE)
)
Я также протестировал App Link, как сказано в документации по Android, и он показал, что App Link работает (перенаправляет меня напрямую и немедленно в мое приложение):

Код: Выделить всё

adb shell am start -a android.intent.action.VIEW \
-c android.intent.category.BROWSABLE \
-d "http://example.com"
Можете ли вы помочь мне найти причину проблемы, пожалуйста?

Подробнее здесь: https://stackoverflow.com/questions/793 ... i-mismatch
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»