Как решить проблему socialauth-android (от 3pillarlabs) и аккаунтов Google/Google+ с помощью OAuth2.0
-
21-12-2019 - |
Вопрос
Я создаю приложение для 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"?Вот скриншот этого экрана:
Решение
У меня как раз возникла эта проблема, и я только что разобрался в ней.Перейдите в консоль разработчика и нажмите на следующие 2 пункта:
Файл JSON содержит ваш секрет после ключа "client_secret", а ключ api указан после "client_id".Файл немного сложен для чтения, поэтому скопируйте текст из файла с помощью блокнота или чего-то еще и вставьте его сюда:http://jsonviewer.stack.hu/
Он упорядочит информацию для вас, затем перейдите на вкладку "просмотр", и данные будут приятны и легки для просмотра, вот так:
Сделав это, я вроде как заработал с socialauth-android, но на самом деле после этого я столкнулся с ошибкой redirect_uri_mismatch, так что дайте мне знать, если вы столкнетесь с тем же самым впоследствии.