介绍 这是一个指南,展示如何在Android上使用Firebase认证谷歌用户。 背景 虽然很多人都写过这个指南,但是他们没有解释一个关键的部分——为什么在执行了每一步之后仍然会看到认证错误12501。这里有一个可以帮助你的好步骤指南:https://ionicthemes.com/tutorials/about/ionic2-google-login。我将解释缺失的部分,即在登录时抛出的错误12501,用于Android。 我必须说明我为什么使用我正在使用的方法。我没有使用firebase插件登录,这应该是情况。用于Cordova的Firebase插件对网络认证很有效,但不适合Android。在我写这篇文章的时候,Firebase团队已经承认了这个问题,他们说他们正在解决这个问题。到那时,我将继续使用Cordova插件,它是在Android环境下工作的,而不是在web浏览器中。 假设 我将使用离子2 CLI。我想你们已经知道了 NodeJS安装。增加了对科尔多瓦的支持。Java JDK安装并添加到path android SDK安装并添加到path 基本步骤 在Android环境中使用Firebase认证谷歌用户的Ionic 2应用程序,必须面对一个配置Firebase项目的步骤。如果您最近尝试创建一个Ionic 2项目并连接到Firebase,您就会知道。对于新手来说,以下是成功创建运行项目的步骤。 创建离子2项目-这是绝对的开始。创建新项目 隐藏,启动MyProject blank——v2 我使用了一个空白的项目模板。 在这个阶段,您可能想要检查输出如何使用 隐藏,Codecd副本。 离子服务 添加Android平台-使用CLI, 隐藏,复制代码离子平台添加android 这一点很重要,因为本教程仅针对Android平台。增加了Cordova插件——让我们回到这个项目上来。我们需要一个Cordova插件来显示用户在你的Android设备上配置的设备帐户。这个插件是cordova-plugin-googleplus。要通过CLI将其添加到您的项目中,输入以下命令 隐藏,复制Codecordova插件添加cordova-plugin-googleplus 创建Firebase项目——现在我们转到https://console.firebase.google.com。使用您所选的帐户创建一个Firebase项目(如果还没有创建的话)。创建项目后,单击选项“Authentication”。您将需要设置一个登录方法。进入登录方法选项卡,点击“谷歌”。 。 您必须启用该选项,并复制“Web客户端ID”代码,这可以通过展开“Web SDK配置”看到。 。 它用于访问项目。登录—我添加了一个Ionic 2提供程序,它为我的项目提供了api。我称之为登录服务。 隐藏,复制代码离子g提供的登录服务 我添加了一个方法,叫做nativeLogin: 隐藏,复制CodenativeLogin (): Promise< any>{ 让self = this; 返回GooglePlus.login ({ “范围”:“配置电子邮件”, 'webClientId': CLIENT_ID,这是您之前复制的web客户端ID。 “离线”:真的 }) 不要犹豫(用户数据=比;{ //做你自己的事情……“self.events。发布(LOGGED_IN_EVENT_ID userData);” }); } 确保您添加了捕获抛出的异常或错误的代码。这是所有基本的代码。 让Firebase知道您的应用程序 因此,让我们回到项目的firebase控制台。当您看到项目概述时,您选择“将Firebase添加到您的Android应用程序”选项。这会打开一个模态对话框来填充一些信息。让我们来看看。 打开MyProject项目中的config.xml。复制小部件节点的id。它可能看起来像com.ionicframework.myprojectXXXXXX。将此id复制到firebase项目弹出对话框中的包名字段中。 然后复制小部件下的name节点中的文本。这是你的应用程序名称。 最后,最重要的是:SHA-1。如果你不知道,你的安卓应用在发布之前需要用一个密钥签名。对于最终的发布版本,请遵循官方的谷歌文档。但是现在,由于我们正在调试,我们需要从调试密钥存储库中获得SHA-1密钥。在Windows操作系统中,进入用户配置文件文件夹, 隐藏,复制Code

cd /d "%USERPROFILE%\.android"

运行命令 隐藏,复制Code

keytool -list -keystore debug.keystore

调试。密钥存储库是调试器使用的密钥存储库文件的名称。它可能会提示您输入密码,按回车键。如果那是无效的密码,尝试密码“android”。(如果它仍然不能工作,你必须搜索谷歌的密码问题。)如果密码被接受,那么工具keytool将转储关于密钥存储库的信息。您必须在“证书指纹”中找到SHA1。复制SHA1值,并将其放在firebase弹出对话框中的“调试签名证书SHA-1(可选)”字段中。 主要的p因为您正在创建一个Android应用程序(即使它是作为web应用程序创建的),所以必须将SHA1值提供给firebase项目,并且所有与该项目交互的Android应用程序都必须提供它们的SHA-1密钥。如果您的应用程序使用了另一个SHA-1密钥(可能在发布版本中使用),那么必须将该密钥添加到签名证书列表中。如果您跳过这一部分,那么您的登录过程可能抛出异常,错误代码为12501。 历史 2017- 2月22日-初始版本 本文转载于:http://www.diyabc.com/frontweb/news30690.html

带有Firebase的离子2:在OAuth 2中签名的更多相关文章

  1. CocoaLumberjack+XcodeColor(输出带有颜色的日志)在安装过程中遇到的问题

    在安装的时候遇到了各种坑,(在这里用到的pch文件的使用以及解决无法引入的问题,可以参考上午的文章) 一(XcodeColor的安装).在github上下载XcodeClolor的插件,并且安装,Xc ...

  2. ASP.NET没有魔法——ASP.NET OAuth、jwt、OpenID Connect

    上一篇文章介绍了OAuth2.0以及如何使用.Net来实现基于OAuth的身份验证,本文是对上一篇文章的补充,主要是介绍OAuth与Jwt以及OpenID Connect之间的关系与区别. 本文主要内 ...

  3. OAuth 2 开发人员指南

    这是支持OAuth2.0的用户指南.对于OAuth1.0,一切都是不同的,所以看它的用户指南. 本用户指南分为两个部分,第一部分是OAuth2.0提供端(OAuth 2.0 Provider),第二部 ...

  4. OAuth 2 开发人员指南(Spring security oauth2)

    https://github.com/spring-projects/spring-security-oauth/blob/master/docs/oauth2.md 入门 这是支持OAuth2.0的 ...

  5. ASP.NET OAuth、jwt、OpenID Connect

    ASP.NET OAuth.jwt.OpenID Connect 上一篇文章介绍了OAuth2.0以及如何使用.Net来实现基于OAuth的身份验证,本文是对上一篇文章的补充,主要是介绍OAuth与J ...

  6. Spring Security OAuth 2开发者指南译

    Spring Security OAuth 2开发者指南译 介绍 这是用户指南的支持OAuth 2.0.对于OAuth 1.0,一切都是不同的,所以看到它的用户指南. 本用户指南分为两部分,第一部分为 ...

  7. OAuth认证协议原理分析及同步消息到Twitter和Facebook使用方法

    OAuth有什么用?为什么要使用OAuth? twitter或豆瓣用户一定会发现,有时候,在别的网站,点登录后转到 twitter登录,之后转回原网站,你会发现你已经登录此网站了,这种网站就是这个效果 ...

  8. 集成基于OAuth协议的单点登陆

    在之前的一篇文章中,我们已经介绍了如何为一个应用添加对CAS协议的支持,进而使得我们的应用可以与所有基于CAS协议的单点登陆服务通讯.但是现在的单点登陆服务实际上并不全是通过实现CAS协议来完成的.例 ...

  9. ASP.NET OAuth:解决refresh token无法刷新access token的问题

    最近同事用iOS App调用Open API时遇到一个问题:在access token过期后,用refresh token刷新access token时,服务器响应"invalid_gran ...

随机推荐

  1. unity physics相关

    1. With careful positioning and sizing, compound colliders can often approximate the shape of an obj ...

  2. 条件竞争(race condition)

    条件竞争漏洞是一种服务器端的漏洞,由于服务器端在处理不同用户的请求时是并发进行的,因此,如果并发处理不当或相关操作逻辑顺序设计的不合理时,将会导致此类问题的发生. 参考了一些资料,发现一个比较能说明问 ...

  3. 一键部署k8s

    本人学习安装kubernetes时,顺便整理了安装脚本,可以通过执行一个脚本,自动二进制安装好1台master+2台node的k8环境.方便需要学习k8s的同学. 百度网盘:https://pan.b ...

  4. CentOS 7上更改MySQL数据库存储目录浅析

      个人之前总结过两篇文章"MySQL更改数据库数据存储目录"和"Ubuntu上更改MySQL数据库数据存储目录",都是在工作中遇到相关案例后的一个简单总结.当 ...

  5. Agumaster 增加雪球网爬虫

  6. 20190917-02Linux网络配置 000 003

    重启网络 最后reboot重启系统 继续ping 自己的window电脑的ip ctrl+C结束 继续在windows电脑上ping虚拟机上的linux系统

  7. JDK8(jdk-8u212-windows-x64) 下载 安装 及设置

    JDK8 下载页面 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 19.8.2 ...

  8. 提交并发量的方法:Java GC tuning :Garbage collector

    三色算法,高效率垃圾回收,jvm调优 Garbage collector:垃圾回收器 What garbage? 没有任何引用指向它的对象 JVM GC回收算法: 引用计数法(ReferenceCou ...

  9. 使用 Promise 实现任务队列发送请求,实现最大请求数目限制

    核心 设置最大请求数量,当前请求数量,待执行队列 调用时,创建一个新任务,然后判断是否达到最大请求数量,若达到则将任务追加到待执行队列,否则,则直接执行该任务.并返回Promise 创建任务时,需要返 ...

  10. Appium之常用API

    Appium常用API解析 1.current_activity:获取当前页面的activity名,比如com.taobao.tao.TBMainActivity 或 com.taobao.brows ...