Difference between revisions of "OAuth2/en"
m (→Что нужно для работы с Ace Stream OAuth2) |
(→What do you need for working with Ace Stream OAuth2) |
||
Line 1: | Line 1: | ||
OAuth2 protocol allows third-party sites to get a limited access to personal data of Ace Stream user, such as e-mail and a public key of the user. | OAuth2 protocol allows third-party sites to get a limited access to personal data of Ace Stream user, such as e-mail and a public key of the user. | ||
− | ==What do you need | + | ==What do you need to work with Ace Stream OAuth2== |
To get ability to use Ace Stream OAuth2, you have to register as a reseller in Ace Stream system. Resellers are able to create markets - usually, these are sites through which options are sold to users. Each market gets access to OAuth2. | To get ability to use Ace Stream OAuth2, you have to register as a reseller in Ace Stream system. Resellers are able to create markets - usually, these are sites through which options are sold to users. Each market gets access to OAuth2. | ||
Revision as of 10:15, 23 September 2014
OAuth2 protocol allows third-party sites to get a limited access to personal data of Ace Stream user, such as e-mail and a public key of the user.
What do you need to work with Ace Stream OAuth2
To get ability to use Ace Stream OAuth2, you have to register as a reseller in Ace Stream system. Resellers are able to create markets - usually, these are sites through which options are sold to users. Each market gets access to OAuth2.
Общая схема работы
Реселлер размещает на своем сайте ссылку с названием вида "Войти через Ace Stream", которая ведет сюда:
https://accounts.acestream.net/oauth/v2/auth?client_id=[CLIENT_ID]&response_type=code&redirect_uri=[REDIRECT_URI]&scope=userkey+email
В ссылку подставляются следующие параметры:
- [CLIENT_ID] - идентификатор маркета, который реселлер может узнать в настройках своего маркета
- [REDIRECT_URI] - ссылка, на который будет перенаправлен пользователь после успешной авторизации. Данная ссылка должна быть в списке Redirect URI в настройках маркета
После перехода по данной ссылке пользователь проходит авторизацию в системе Ace Stream, после чего перенаправляется на указанный [REDIRECT_URI].
Если во время авторизации произошла ошибка, то на [REDIRECT_URI] передаются параметры error error_description, описывающие ошибку.
После успешной авторизации передается параметр code: это код подтверждения (authorization code) для получения токена доступа (access_token).
После получения кода сторонний сайт дожен получить access_token. Для этого на адрес https://accounts.acestream.net/oauth/v2/token отправляется POST-запрос с такими переменными:
- client_id - идентификатор маркета
- client_secret - секретный ключ маркета (можно узнать в настйроках маркета)
- code - код подтверждения, полученный ранее
- grant_type - строка "authorization_code"
- redirect_uri - ссылка, указанная в первом запросе
Ответ на данный запрос отправляется в формате JSON.
В случае ошибки в ответе присутствует поле error_description с описанием ошибки.
В случае успешного выполнения в ответе высылается токен доступа в поле access_token
С помощью токена доступа сторонний сайт имеет возможность получить e-mail и публичный ключ пользователя. Для этого отправляется GET-запрос на адрес https://accounts.acestream.net/oauth/api с такими параметрами:
- method - строка "getUserInfo"
- access_token - полученный ранее токен доступа
В случае успешного выполнения данного запроса в ответ отправляются данные пользователя в формате JSON:
{ "user": { "email": "USER_EMAIL", "key": "USER_KEY" } }