2015-04-19 2 views
0

Извините за такой фиктивный вопрос, но я ищу в Интернете и все еще не уверен, что правильно поняли эти понятия.Является кратковременным токеном доступа и запросом токена и кода авторизации то же самое?

Как я знаю OAuth v2 имеет следующие шаги для авторизации пользователя:

1- запросы пользователя для входа в систему с провайдером OAuth (Google, ..) через стороне клиента (веб-браузер или в мобильном приложении) из наше приложение.

2- поставщик OAuth возвращает маркер запроса на сторону клиента

3- сторона клиента посылает этот запрос маркер стороны сервера

4- сторона сервера запросов от провайдера OAuth, чтобы генерировать долгоживущий маркер доступа + обновить маркер (сервер отправляет приложение секретный ключ с этим запросом, чтобы проверить себя)

5- стороне сервера может запросить любой API в областях, определенных со стороны клиента и разрешенных пользователем с помощью этого маркера доступа

6- серверная сторона должна обновить токен доступа, когда токен доступа по-прежнему действителен, отправив токен обновления поставщику oAuth.

ответ

3

Говоря Google специально

Шаг 1:

Пользователей отображаются вебом-страницы, где они могут решили предоставить вам доступ или нет

enter image description here

Сферы действия доступа вы можете увидеть в этом примере данные Google Analytics, в зависимости от того, какие области, которые вы запрашиваете у пользователя для доступа к другим вещам, будут отображаться здесь.

Шаг 2:

Предполагая, что пользователь нажал Accept и предоставил вам доступ вы получаете Authentication code.

enter image description here

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

Обновление: код аутентификации хорош только для одной вещи, которая обменивается на токен обновления и токен доступа. Как только вы это сделаете, Authentication code бесполезен. (Шаг 3)

Шаг 3:

Ваша система останавливает authentication code отправляет его на сервер аутентификации вместе с вашим client id и secret снова. На этот раз как HTTP POST, драгоценным запросом был HTTP GET.

Затем сервер вернет вам токен доступа и токен обновления.

{ 
"access_token" : "ya29.1.AADtN_VSBMC2Ga2lhxsTKjVQ_ROco8VbD6h01aj4PcKHLm6qvHbNtn-_BIzXMw", 
"token_type" : "Bearer", 
"expires_in" : 3600, 
"refresh_token" : "1/J-3zPA8XR1o_cXebV9sDKn_f5MTqaFhKFxH-3PUPiJ4" 
} 

Токен доступа недолговечен, он подходит для 3600 секунд или одного часа. Refresh_token хорош до тех пор, пока пользователь не отменяет ваш доступ, или он не использовался в течение 6 месяцев, я думаю, и что вашему приложению было предоставлено максимум 25 токенов обновления (необходимо дважды проверить этот номер для вы)

Вы можете использовать токен доступа для доступа к API по своему усмотрению в течение следующего часа.

(обновление) Токен обновления используется для получения нового токена доступа по истечении срока его действия.

шаг 4:

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

Дальнейшее чтение:

Если вы хотите увидеть, как сделать сырые вызовы и что возвращенный чек этот учебник 3 legged oauth2 flow

и некоторое светлое время кровати чтение The OAuth 2.0 Authorization Framework

+1

так запрос маркера и код авторизации - то же самое? как насчет краткосрочного токена доступа? является кратковременным токеном доступа к токен-части доступа этого JSON, о котором вы упомянули, и долговечный токен токена обновления? –

+0

Нет кода авторизации - это всего лишь одно время, когда пользователь принимает ваш доступ. Как только вы используете его для получения токена Refresh, он больше не используется. Краткосрочный токен доступа - это Access_token в json, это хорошо в течение 1 часа, он используется для доступа к API. Refresh_token хорош, пока пользователь не отменяет ваш доступ и используется для получения новых токенов доступа после их истечения. – DaImTo

+1

Итак, где знаменитый токен запроса и долговечный токен доступа в этом процессе? –

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