2015-07-24 1 views
1

Я реализую поток OAuth 2 на нашем клиенте (приложение для Android). Клиент - это наше приложение, которое взаимодействует с доверенным сервером. Третьей стороны здесь нет.Реализация клиента OAuth 2 как запросить новую область?

Когда пользователь входит в систему, я использую идентификатор клиента и секрет, чтобы получить код авторизации с сервера, и в итоге я получаю токен доступа.

У меня есть токены доступа, хранящиеся в приложении, вместе с обновляющим токеном и временем истечения срока действия для определенной области, скажем, «X».

Теперь мы добавляем новую функцию в приложение, но сервер требует от меня отправки области «Y» для доступа к ресурсу для этой функции с сервера.

Мои вопросы

  1. мне нужно сообщить серверу, что данный пользователь нуждается в сферу «Y» Do? Если да, как мне это сделать? У меня только есть accesstoken & Обновить токен для области «X». Требуется ли серверу предоставлять услугу, которая принимает мои текущие accesstoken и новые области и возвращает новый accesstoken для области «X» & «Y»? Я потерялся?

  2. На стороне клиента я предполагаю, что accesstoken должен отображаться в нескольких областях.

ответ

0

Смотрите спецификации here

разрешения и маркеров конечных точек позволяют клиенту указать область запроса доступа с помощью «Scope» параметр запроса.

e.g server may have scope : view_my_picture delete_my_picture create_entry_in_album

grant_type=<e.gclient_credentials>&client_id=<yourApp>&client_secret=<secret>&scope=view_my_picture

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

Если маркер сфера выдается доступ отличается от запрошенной клиентом, сервер авторизации ДОЛЖЕН включать параметр ответа «область действия», чтобы информировать клиента о фактической предоставленной области.

+0

спасибо. Мой вопрос больше о том, как добавить новую область или запрос для новой области, не заставляя пользователя повторно выполнять или предоставлять свои учетные данные снова? Или, другими словами, какова стандартная практика добавления/запроса дополнительной области для существующего accesstoken, связанного с другой областью? –

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