谷歌服务器认证代码导致登录失败

4

我成功地使用了新的Google登录方式。

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestScopes(new Scope(Scopes.DRIVE_APPFOLDER))
            .build();

mGoogleApiClient = new GoogleApiClient.Builder(this)
            .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
            .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
            .addApi(Drive.API)
            .build();

它工作得很好,但是现在我需要认证代码以发送到我的服务器,问题是当我将这行代码.requestServerAuthCode(CLIENTID)添加到GoogleSignInOption中时,签入失败,显示无用的状态码Status{statusCode=unknown status code: 12500, resolution=null}。我已经设置了OAUTH并使用了正确的客户端ID。可能是什么原因呢?


1
尝试使用 .requestServerAuthCode(CLIENTID,true)!它会强制你提供授权码。 - Dexter
1个回答

0

您应该在 FirebaseGoogle Console API 中配置您的 Android 客户端 ID,并提供密钥库签名和包名称。

检查您用于签署 apk 的密钥库的指纹。请注意,您可能正在使用 debug.keystore 或 release keystore。如果您使用的是 Android Studio,则可以在 Build Types/Signing 中进行检查。

大多数情况下,这些问题与 ClientIDs 和 ServerID 的错误配置有关。

要查找您的服务器 ID,请在 API 控制台中检查“Web 客户端 ID”。还要检查此 ID 是否是您在后端服务器上使用的 ID。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接