Как решить проблему socialauth-android (от 3pillarlabs) и аккаунтов Google/Google+ с помощью OAuth2.0

StackOverflow https://stackoverflow.com//questions/22038287

Вопрос

Я создаю приложение для Android, в котором пользователи должны иметь возможность входить в приложение, используя комбинацию электронной почты / пароля (без проблем) или через предпочитаемую ими социальную сеть.

Я внедрил socialAuth библиотека для Android от 3пиллярные лаборатории (найдено на Github) и успешно смогли внедрить код для входа в систему через Facebook и Twitter.Это просто:вы создаете приложение, копируете ключ и секрет в файл свойств вашего Android-проекта, добавляете несколько строк кода и бац!Вы можете войти в приложение с помощью Facebook или Twitter.

Пытаюсь сделать это с Аккаунты Google считается, что это намного сложнее, потому что руководство, которое они предоставляют устарел - похоже, он использует OAuth (версия 1), а не OAuth2.0.У меня возникли трудности при попытке понять, как это сделать с помощью OAuth2.0 и socialAuth библиотека.Я не хочу выполнять столько работы, сколько предлагается на странице Google для внедрение приложения для входа в систему с помощью Google+, если это может быть всего несколько строк при использовании socialAuth библиотека.

Моя главная проблема заключается в определении consumer_secret.Когда вы создаете приложение на Консоль разработчика Google, вы перенаправляетесь на экран, где вы активируете соответствующие API, а затем устанавливаете разрешения - вы создаете идентификатор клиента OAuth (который является вашим consumer_key в socialAuth файл свойств), но где вы находите свой 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

Реализовал ли кто-нибудь этот socialAuth библиотека для Android от 3пиллярные лаборатории и выяснили, как войти в ваше приложение с помощью Аккаунты Google или Google+ и OAuth2.0?Где вы берете consumer_secret?

Что-то, что меня смущает, например, это найдено в документации Google Developer Console относительно Настройка OAuth2.0

Настройка OAuth 2.0

Чтобы использовать OAuth 2.0 в вашем приложении, вам нужен идентификатор клиента OAuth 2.0, который ваше приложение использует при запросе токена доступа OAuth 2.0.Когда вы регистрируете приложение в консоли разработчиков Google, вы можете сгенерировать идентификатор клиента OAuth 2.0.

Чтобы найти идентификатор клиента вашего приложения и секрет клиента, а также задать URI перенаправления, разверните раздел Идентификатор клиента OAuth 2.0.

Чтобы деактивировать идентификатор клиента, удалите приложение из консоли разработчиков.

Как вы "расширяете раздел идентификатора клиента OAuth 2.0"?Вот скриншот этого экрана:

enter image description here

Это было полезно?

Решение

У меня как раз возникла эта проблема, и я только что разобрался в ней.Перейдите в консоль разработчика и нажмите на следующие 2 пункта:enter image description here

Файл JSON содержит ваш секрет после ключа "client_secret", а ключ api указан после "client_id".Файл немного сложен для чтения, поэтому скопируйте текст из файла с помощью блокнота или чего-то еще и вставьте его сюда:http://jsonviewer.stack.hu/

Он упорядочит информацию для вас, затем перейдите на вкладку "просмотр", и данные будут приятны и легки для просмотра, вот так:enter image description here Сделав это, я вроде как заработал с socialauth-android, но на самом деле после этого я столкнулся с ошибкой redirect_uri_mismatch, так что дайте мне знать, если вы столкнетесь с тем же самым впоследствии.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top