2

我正在构建一个 Android 应用程序,用户应该能够使用电子邮件/密码组合(无需考虑)或通过他们喜欢的社交网络登录到应用程序。

我已经从3pillarlabs在 Github 上找到socialAuth)实现了Android 库,并且已经成功地实现了通过 Facebook 和 Twitter 登录的代码。很简单:您创建一个应用程序,将密钥和秘密复制到您的 Android 项目的属性文件中,添加几行代码,然后 bam!您可以使用 Facebook 或 Twitter 登录应用程序。

使用Google 帐户尝试此操作被认为要困难得多,因为他们提供的指南已过时 - 它似乎使用 OAuth(版本 1)而不是 OAuth2.0。我很难理解如何使用 OAuth2.0 和socialAuth库来做到这一点。如果在使用库时它只能是几行,我不想做谷歌页面上建议的使用 Google+ 实现应用程序登录的工作。socialAuth

我的主要问题是识别consumer_secret. 当您在Google Developer Console上创建应用程序时,您会被定向到激活相关 API 然后设置权限的屏幕 - 您创建一个 OAuth 客户端 ID(这是您consumer_keysocialAuth属性文件中的),但是您在哪里可以找到您的consumer_secret?

我了解到,使用Google+您可以callBack向您发送身份验证码,但我不明白应该发生什么。

这个解决方案有帮助,但我仍然不知道从哪里获得 consumer_secret(显然是在步骤 1 中创建的):

1.  First register your application on Google Cloud console:
  a. Go to https://cloud.google.com/console/project 
  b. Login
  c. Create a new project
  d. APIs & Auth > Credentials
  e. Create New Client ID ( Application Type: Web Application, Authorized redirect URL: http://YOUR_HOST_NAME/socialauth.html)

2.  Modify brickred properties.xml
  Replace 
  <prop key="www.google.com.consumer_key">opensource.brickred.com</prop>
  <prop key="www.google.com.consumer_secret">YC06FqhmCLWvtBg/O4W/aJfj</prop>

  with

  <prop key="googleapis.com.consumer_key">CLIENT ID created in Step 1.e above</prop>
  <prop key="googleapis.com.consumer_secret">Client Secret created in Step 1.e above </prop>

If you are not using Spring, modify oauth_consumer.properties

Modify the link in your application where the user clicks on to start the contacts import process:
change
  ?id=google

to

  ?id=googleplus

有没有人从3pillarlabs实现了socialAuthAndroid 库,并想出了如何使用Google AccountsGoogle+OAuth2.0登录到您的应用程序?你从哪里得到的?consumer_secret

让我感到困惑的事情,例如,这是在 Google Developer Console 文档中找到的关于设置 OAuth2.0

设置 OAuth 2.0

要在您的应用程序中使用 OAuth 2.0,您需要一个 OAuth 2.0 客户端 ID,您的应用程序在请求 OAuth 2.0 访问令牌时会使用该 ID。在 Google Developers Console 中注册应用程序时,您可以生成 OAuth 2.0 客户端 ID。

要查找应用程序的客户端 ID 和客户端密码并设置重定向 URI,请展开 OAuth 2.0 客户端 ID 部分。

要停用客户端 ID,请从 Developers Console 中删除应用程序。

您如何“扩展 OAuth 2.0 客户端 ID 部分”?这是此屏幕的屏幕截图:

在此处输入图像描述

4

1 回答 1

1

我刚刚遇到这个问题,只是想通了。转到您的开发人员控制台并单击以下两件事: 在此处输入图像描述

JSON 文件包含您的密钥,在密钥“client_secret”之后,api 密钥列在“client_id”之后。该文件有点难以阅读,因此请使用记事本或其他工具从文件中复制文本并将其粘贴到此处:http: //jsonviewer.stack.hu/

它会为您组织信息,然后单击“查看器”选项卡,数据将很好且易于查看,如下所示 在此处输入图像描述 :之后实际上遇到了 redirect_uri_mismatch 错误,所以让我知道您之后是否遇到同样的事情。

于 2014-04-24T18:14:10.773 回答