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

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

Я реализовал socialAuth библиотека для Android от 3pillarlabs ( найдена на 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 от 3pillarlabs и разобрался, как войти в свое приложение, используя аккаунты 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"? Вот скриншот этого экрана:

1 ответ

Решение

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

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

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

Другие вопросы по тегам