12501错误:Ionic什么密钥库是使用

时间:2017-03-10 12:22:48

标签: cordova ionic2 firebase-authentication android-keystore google-plus-signin

我正在Ionic 2使用GooglePlus Authentication。一切都适用于iOS。对于Android我按如下方式构建我的应用:

ionic build android

对于Android版本,我需要一个用于Google身份验证的SHA1密钥库。

我有Macintosh HD/Users/myname/.android/debug.keystore,因此根据these说明,我使用(默认密码' android')生成密钥库:

keytool -exportcert -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore

输出看起来正确。我按照上述说明使用SHA1Android Credentials

enter image description here

但是当我尝试登录时,我得到: error = 12501

来自here我认为这与Google凭据中的SHA1与应用的Android版本的SHA1相匹配无关。

问题

我的SHA1版本使用的Android是什么?如何检查它是否与上面为凭证生成的匹配?

更新

阅读以下内容:

enter image description here

我理解,对于Android,我们需要将SHA1放在此处:

enter image description here

然而,在尝试此操作后,我仍然遇到12501错误。

更新

我也尝试过关注these instructions,特别是Android Setup,但我认为它已经过时了。但他们确实说了以下几点:

  

如果您收到错误12501 - 用户已取消,则表示您使用了错误   在iOS / Android配置步骤中捆绑ID。确保你   正在使用正确的,通过在您的设置中设置所需的捆绑ID   config.xml,并在设备设置期间使用该ID

从上图中可以看出,Package nameBundle ID中的config.xml相匹配。

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.ionicframework.thewhozooXXXX" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">

2 个答案:

答案 0 :(得分:1)

你需要使用Web Client ID而不是Android Client ID用于Android(Go Figure!)。这对我有用。

enter image description here

代码:

        GooglePlus.login({
            'webClientId':'XXXXXX.apps.googleusercontent.com',
            'offline': true
        }).then(googleData => {

但我不明白,iOS适用于iOS Client id。所以没有一致性。

<强>更新

这似乎适用于使用Android的{​​{1}}。如果您查看返回值Web client

googleData

答案 1 :(得分:0)

对于将来的参考,所以它可能会对像我这样的人有所帮助:

我的问题是范围参数:

{
    'scopes': 'email https://www.googleapis.com/auth/admin.directory.resource.calendar',
    'webClientId': 'XXXXXXXXXXX',
    'offline': true
}

SPACE分隔列表(我使用逗号分隔)。逗号分隔(或空格分隔以外的任何分隔)将导致12501。