我正在构建一个Android应用程序,用户应该可以使用电子邮件/密码组合(无需支持)或通过其首选的社交网络登录应用程序。
我已经从 3pillarlabs (found on Github)实施了适用于Android的socialAuth
库,并且已经成功实现了通过Facebook和Twitter登录的代码。这很简单:你创建一个应用程序,将密钥和秘密复制到Android项目的属性文件中,添加几行代码和bam!您可以使用Facebook或Twitter登录该应用程序。
尝试使用 Google帐户,因为the guide they provide已过期而被视为更加困难 - 它似乎使用OAuth(版本1)而不是OAuth2.0。我很难通过OAuth2.0和socialAuth
库来了解如何执行此操作。如果在使用socialAuth
库时只能使用几行,我不想像在implementing application sign in with Google+的Google页面上那样做很多工作。
我的主要问题是确定consumer_secret
。当您在 Google Developer Console 上创建应用程序时,系统会将您定向到激活相关API的屏幕,然后设置权限 - 您创建OAuth客户端ID(这是您的consumer_key
在socialAuth
属性文件中),但您在哪里找到了consumer_secret
?
我已经了解到使用 Google + ,您可以使用某种callBack
向您发送验证码,但我不明白它应该发生什么。
This solution helps,但我仍然不知道从哪里获取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 实施了适用于Android的socialAuth
库,并找出了如何使用 Google帐户或 Google + }登录您的应用程序strong>和 OAuth2.0 ?你在哪里得到consumer_secret
?
让我感到困惑的是,例如Google Developer Console上有关Setting up OAuth2.0
的文档设置OAuth 2.0
要在您的应用程序中使用OAuth 2.0,您需要OAuth 2.0客户端ID, 您的应用程序在请求OAuth 2.0访问令牌时使用的。 当您在Google Developers Console中注册应用程序时 可以生成OAuth 2.0客户端ID。
要查找应用程序的客户端ID和客户端密钥,请设置 重定向URI,展开OAuth 2.0客户端ID部分。
要停用客户端ID,请从中删除该应用程序 开发人员控制台。
如何“展开OAuth 2.0客户端ID部分”?以下是此屏幕的屏幕截图:
答案 0 :(得分:1)
我刚刚遇到这个问题,只是想出来了。转到开发人员控制台,然后单击以下两项内容:
JSON文件包含您的密钥,在密钥&#34; client_secret&#34;之后,api密钥列在&#34; client_id&#34;之后。该文件有点难以阅读,因此使用记事本或其他东西将文本复制出文件并将其粘贴到此处: http://jsonviewer.stack.hu/
它会为您整理信息,然后点击查看器&#39;选项卡和数据将很好,很容易看到,如下所示: 这样做可以帮助我使用socialauth-android,但是之后我实际上遇到了redirect_uri_mismatch错误,因此知道你之后是否遇到过同样的问题。