Отправить имя пользователя и пароль для аутентификации Google oauth - PullRequest
4 голосов
/ 04 декабря 2011

Я разрабатываю приложение в Android, которое предоставляет информацию о разных местах. Я хотел сохранить изображения этих мест в Picasa и получить их с помощью API Google, для этого я создал новую учетную запись Google для пользователя, который хранит изображения.

Проблема в том, что когда я запускаю процесс oauth для получения токена, у меня появляется новая веб-страница с запросом имени пользователя и пароля. Поскольку это технический пользователь, все конечные пользователи не будут знать о пользователях и pwd.

Есть ли способ отправить имя пользователя и пароль вместе с другими значениями oauth (client_id, secret_id, redirect_uri, ...?

Спасибо

Ответы [ 3 ]

3 голосов
/ 03 июня 2012

Проверка подлинности Google Oauth - это трехсторонний процесс:

  1. Получение токена запроса
  2. Авторизовать этот токен запроса
  3. Обмен авторизованного токена запроса на токен доступа

Имя пользователя и пароль требуются на втором этапе этого процесса, когда пользователь, используя свои учетные данные для входа, авторизует клиентское приложение для доступа к своим личным данным, хранящимся на сервере Google.

Теперь к вопросу, который поднял @Luis: есть ли способ отправить имя пользователя и пароль вместе с другими значениями oauth? Ответ - Нет. Невозможно отправить имя пользователя и пароль в заголовке авторизации или в параметре запроса URI авторизации. Причина в том, что пользователь всегда должен знать, что клиент (который является вашим приложением) использует данные пользователя. Следовательно, пользователь всегда перенаправляется на веб-страницу, где его / ее просят предоставить учетные данные для входа. Это также позволяет пользователю устанавливать ограничения в отношении контроля доступа к своим личным данным для приложения.

Если приложению разрешено хранить и отправлять учетные данные пользователя для входа в систему вместе с заголовками авторизации Oauth, пользователь никогда не узнает, что приложение использует свои личные данные, и не может устанавливать какие-либо ограничения для приложения.

Надеюсь, это объяснение поможет.

0 голосов
/ 04 июня 2012

Если вы не хотите показывать диалоговое окно входа в систему, вы можете попробовать получить токен OAuth, используя AccountManager.Это будет эффективно делать то же самое за кулисами, используя сохраненные имя пользователя и пароль для учетной записи Google.Естественно, учетная запись должна быть зарегистрирована на устройстве до этого.Вот краткое описание, вам просто нужно найти правильную область действия для Picasa и передать его в качестве типа токена: http://developer.android.com/training/id-auth/authenticate.html

Вы можете получить токен аутентификации, используя имя пользователя и пароль с ClientLogin, но уже устарел, поэтому не рекомендуется использовать его в новых проектах.

0 голосов
/ 19 декабря 2011

попробуйте разместить свои фотографии в общедоступной галерее в веб-альбомах Picasa, в этом случае для доступа к фотографиям не требуется учетная запись пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...