Firebase身份验证错误-迁移项目后 预期

Firebase身份验证错误-迁移项目后 预期,firebase,kotlin,firebase-authentication,google-oauth,Firebase,Kotlin,Firebase Authentication,Google Oauth,在IntelliJ中运行的Kotlin应用程序已从2009年的MacBook Pro迁移到2019年的MacBook Pro。如果提供相同的凭据,该项目将运行访问Firestore数据库和Firestore存储的相同代码 观察 由于oauth错误,代码将不会在新机器上运行 错误 com.google.api.gax.grpc.instantinggrpcchannelprovider未定义或继承已解析方法abstract needsCredentials()的实现 无法检测我们是否在Goo

在IntelliJ中运行的Kotlin应用程序已从2009年的MacBook Pro迁移到2019年的MacBook Pro。如果提供相同的凭据,该项目将运行访问Firestore数据库和Firestore存储的相同代码

观察 由于oauth
错误,代码将不会在新机器上运行

错误
  • com.google.api.gax.grpc.instantinggrpcchannelprovider未定义或继承已解析方法abstract needsCredentials()的实现

  • 无法检测我们是否在Google计算引擎上运行

  • 日志 尝试解决方案 在build.gradle中更新库版本,以防问题是由依赖项冲突引起的

    格雷德尔先生

    这是因为“firebase admin”通过“gax grpc”依赖的“gax”是旧的,所以Gradle选择了其他库(可能是您的“google云存储”)引入的较新的“gax”,从而导致兼容性问题

    在我的例子中,强迫Gradle使用最新的“gax grpc”,如下面所示,解决了问题。我希望这对你也有帮助

    implementation group: 'com.google.api', name: 'gax-grpc', version: '1.47.1'
    
    这是因为“firebase admin”通过“gax grpc”依赖的“gax”是旧的,所以Gradle选择了其他库(可能是您的“google云存储”)引入的较新的“gax”,从而导致兼容性问题

    在我的例子中,强迫Gradle使用最新的“gax grpc”,如下面所示,解决了问题。我希望这对你也有帮助

    implementation group: 'com.google.api', name: 'gax-grpc', version: '1.47.1'
    

    谢谢你的建议@findall。不幸的是,这导致了一个新的谷歌云存储错误,尽管定义了与前一台计算机相同的凭据。我需要进一步探究这一点,看看是否有关联。-com.google.cloud.storage.StorageException:401未经授权感谢@findall的建议。不幸的是,这导致了一个新的谷歌云存储错误,尽管定义了与前一台计算机相同的凭据。我需要进一步探究这一点,看看是否有关联。-com.google.cloud.storage.StorageException:401未经授权
    fun getFirebaseCredentials() =
        if (environmentType == PRODUCTION) FirebaseCredentials(
                "service_account",
                "[projectId]",
                "[privateKeyId]",
                "[privateKey]",
                "[clientEmail]",
                "[clientId]",
                "https://accounts.google.com/o/oauth2/auth",
                "https://accounts.google.com/o/oauth2/token",
                "https://www.googleapis.com/oauth2/v1/certs",
                "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-0z4rn%40carpecoin-media-211903.iam.gserviceaccount.com")
        else FirebaseCredentials(
                "service_account",
                "[projectId]",
                "[privateKeyId]",
                "[privateKey]",
                "[clientEmail]",
                "[clientId]",
                "https://accounts.google.com/o/oauth2/auth",
                "https://accounts.google.com/o/oauth2/token",
                "https://www.googleapis.com/oauth2/v1/certs",
                "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-dhr30%40coinverse-media-staging.iam.gserviceaccount.com")
    
    buildscript {
        ext.kotlin_version = '1.3.41'
        ext.junitJupiterVersion  = '5.5.0'
    
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
            classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.3'
        }
    }
    
    plugins {
        id 'java'
        id 'org.jetbrains.kotlin.jvm' version '1.2.51'
    }
    
    version '1.0-SNAPSHOT'
    
    sourceCompatibility = 1.8
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
        testImplementation group: 'junit', name: 'junit', version: '5.3.2'
        // JUnit Jupiter API and TestEngine implementation
        testImplementation("org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}")
        testRuntime("org.junit.jupiter:junit-jupiter-engine:${junitJupiterVersion}")
        testImplementation "org.assertj:assertj-core:3.12.2"
        // To avoid compiler warnings about @API annotations in JUnit code
        testCompileOnly 'org.apiguardian:apiguardian-api:1.1.0'
        implementation 'com.squareup.retrofit2:retrofit:2.6.0'
        implementation 'com.squareup.retrofit2:converter-gson:2.6.0'
        implementation 'com.squareup.retrofit2:adapter-rxjava:2.6.0'
        implementation 'io.reactivex.rxjava2:rxjava:2.2.10'
        implementation 'com.google.firebase:firebase-admin:6.8.1'
        implementation 'com.google.cloud:google-cloud-storage:1.79.0'
        implementation 'com.google.apis:google-api-services-youtube:v3-rev212-1.25.0'
    }
    
    compileKotlin {
        kotlinOptions.jvmTarget = "1.8"
    }
    compileTestKotlin {
        kotlinOptions.jvmTarget = "1.8"
    }
    
    implementation group: 'com.google.api', name: 'gax-grpc', version: '1.47.1'