2015-03-23 5 views
0

Я хочу реализовать XOAuth 2.0 для своего веб-приложения на Java.Аутентификация Gmail с использованием XOAuth 2.0

Мое приложение запрашивает у пользователя имя пользователя и пароль. Теперь, используя эти учетные данные, я хочу выполнить аутентификацию пользователя через Gmail.

Пожалуйста, предлагайте библиотеки, а также как их реализовать? Я новичок в аутентификации с использованием Gmail. Нужны некоторые предложения.

+0

[stormpath]: https://stormpath.com/product/api-authentication/ –

ответ

-1

как я знаю, цель OAuth 2.0 - предотвратить утечку учетных данных пользователя в сторонние приложения.

abstract flow shows Как клиент (стороннее приложение) должен использовать access_token (полученный с помощью одного из типов грантов) для доступа к ресурсу.

Спецификация также определяет основные вызовы HTTPS для использования, например, в случае authorization code grant type (я думаю, что этот поток наилучшим образом подходит для вас). У этого есть 2 запроса, один для code (перенаправление пользовательского агента используется для отправки кода стороннему приложению) и один для access_token. код запрос

Авторизация & ответа

GET /authorize?response_type=code&client_id=s6BhdRkqt3&state=xyz 
     &redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb HTTP/1.1 
Host: server.example.com 

HTTP/1.1 302 Found 
Location: https://client.example.com/cb?code=SplxlOBeZQQYbYS6WxSbIA 
       &state=xyz 

Токен запрос & ответа:

POST /token HTTP/1.1 
Host: server.example.com 
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW 
Content-Type: application/x-www-form-urlencoded 
grant_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA 
&redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb 

HTTP/1.1 200 OK 
Content-Type: application/json;charset=UTF-8 
Cache-Control: no-store 
Pragma: no-cache 

{ 
    "access_token":"2YotnFZFEjr1zCsicMWpAA", 
    "token_type":"example", 
    "expires_in":3600, 
    "refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA", 
    "example_parameter":"example_value" 
} 

Так что вам не нужно спрашивать пользователь учетных данных GMail.

Here вы можете найти пример весенней безопасности для приложения, совместимого с OAuth 2.0.

Я надеюсь, что смогу помочь.

+0

Спасибо за ответ. Я просто хотел что-то добавить, у моего приложения нет процесса аутентификации, является ли пользователь действительным или нет например, хранить пароли или что-то в этом роде. Поэтому мне нужно пройти с его учетными данными gmail, чтобы аутентифицировать его. Теперь, для вышеупомянутого токена, я понял, что access_tokens являются конкретными приложениями, то, как аутентифицируется пользователь, это будет приложение, прошедшее проверку подлинности. Пожалуйста, исправьте, если я неправильно понял что-то. И ответы всегда приветствуются. – sHOOT

+0

И я не хочу делать какие-либо операции за пределами моего приложения. Я просто хочу проверить, действительно ли пользователь действителен или нет, я имею в виду держать учетную запись или нет. – sHOOT

+0

Я понимаю. Это приложение быстрого запуска может помочь вам создать кнопку «входа» с помощью Google. https://developers.google.com/+/quickstart/java –

Смежные вопросы