Я использую FirebaseUI для Android, и методы «Войти с помощью Facebook» и «Войти с помощью электронной почты» работают нормально, но «Войти с помощью Google» не работает. Когда я нажимаю на нее, он просит меня выбрать учетную запись, я выбираю свою учетную запись gmail, на секунду показывается счетчик загрузки, а затем снова возвращается к экрану входа, как будто ничего не произошло.
Глядя на журналы logcat, я вижу:
07-19 20:21:40.660 3345-12614/? V/BaseAuthAsyncOperation: access token request successful
07-19 20:21:40.661 3345-12614/? V/AuthAccountOperation: id token is requested.
07-19 20:21:40.777 20330-20330/? W/InstanceID/Rpc: Found 10013
07-19 20:21:40.889 3345-12614/? E/TokenRequestor: You have wrong OAuth2 related configurations, please check. Detailed error: INVALID_AUDIENCE
07-19 20:21:40.890 3345-12614/? D/AuthAccountOperation: id token request failed.
Я видел этот пост и убедился, что метод входа в Google включен в моем проекте Firebase и что я добавил правильные ключи SHA-1 (попробовал как с ключом отладки, так и с ключом выпуска).
Это мой build.gradle:
apply plugin: 'com.android.application'
android {
signingConfigs {
signing {
...
}
}
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com..."
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName "1.0"
signingConfig signingConfigs.signing
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.signing
}
debug {
signingConfig signingConfigs.signing
}
}
productFlavors {
}
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE-FIREBASE.txt'
exclude 'META-INF/NOTICE'
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
// Module dependency on ParseUI libraries sources
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:design:23.2.1'
compile 'com.android.support:preference-v7:23.2.1'
compile 'com.google.android.gms:play-services-maps:9.2.0'
compile 'com.google.android.gms:play-services-location:9.2.0'
compile 'com.google.android.gms:play-services-places:9.2.0'
compile 'com.android.support:support-v4:23.2.1'
compile 'com.android.support:support-annotations:23.2.1'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.android.support:recyclerview-v7:23.2.1'
compile 'com.android.support:cardview-v7:23.2.1'
compile 'com.google.maps.android:android-maps-utils:0.3.4'
//Firebase
compile 'com.google.firebase:firebase-core:9.2.0'
compile 'com.google.firebase:firebase-database:9.2.0'
compile 'com.google.firebase:firebase-auth:9.2.0'
compile 'com.google.firebase:firebase-crash:9.2.0'
compile 'com.firebaseui:firebase-ui-auth:0.4.2'
//Geofire
compile 'com.firebase:firebase-client-android:2.5.0+' // Remove this once geofire updates to 1.2 to support firebase 3.0
compile 'com.firebase:geofire:1.1.0'
compile 'com.github.lsjwzh.RecyclerViewPager:lib:v1.1.0-beta5'
compile 'com.squareup.okhttp3:okhttp:3.4.0-RC1'
}
apply plugin: 'com.google.gms.google-services'
Вот как я запускаю AuthUI
startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setLogo(R.drawable.logo)
.setProviders(
AuthUI.EMAIL_PROVIDER,
AuthUI.GOOGLE_PROVIDER,
AuthUI.FACEBOOK_PROVIDER)
.build(),
RC_SIGN_IN);
aud
, упомянутое в сообщении об ошибке, — это аудитория в JWT (веб-токен JSON), которая используется для аутентификации и определяет проект, к которому вы подключаетесь. Таким образом, в сообщении об ошибке говорится, что вы подключаетесь к проекту, который не соответствует токену. - person Frank van Puffelen   schedule 20.07.201607-22 17:43:14.347 2812-2812/com.solvek.smartlamp E/Parcel: Reading a NULL string not supported here. 07-22 17:43:24.137 2812-2812/com.solvek.smartlamp I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@21886b1d time:13161789
- person Solvek   schedule 22.07.2016