Authorization
The information is not available in your language.
Для вызова большинства методов BYTEHAND API требуется авторизация пользователя. Обратите внимание, что помимо авторизации методы API могут требовать наличия определённых прав доступа.
Методы BYTEHAND API, которые не требуют авторизации, помечены как Права доступа - Не требуются.
Вне зависимости от выбранного способа авторизации, её результатом будет ключ доступа, пример ключа: ZO0XJngUXZKjlcFNpzXBbw4UriheYwlc.
Список ключей и выданные им права доступа показываются в личном кабинете на странице Настройки.
Сохраняйте значение ключа в тайне и не передавайте его другим лицам. Если ключ был скомпрометирован, используйте кнопку Удалить ключ доступа, чтобы удалить его и предотвратить несанкционированный доступ.
Выполнение запросов
Ключ доступа необходимо передавать во всех запросах к API, которые требуют авторизации. Для вашего удобства, передача ключа может осуществляться одним из следующих способов:
Способ | Описание |
---|---|
Через заголовок HTTP запроса | При вызове метода API присвойте заголовку HTTP запроса X-Service-Key значение ключа доступа. Рекомендуется использовать. |
Через куки (cookie) HTTP запроса | При вызове метода API куки access_token должен иметь значение ключа доступа и быть доступным для домена api.bytehand.com. |
Через параметр HTTP запроса | При вызове метода API присвойте параметру HTTP запроса access_token значение ключа доступа. Удобно использовать для отладки в процессе разработки. |
Способы авторизации
Существуют несколько различных методов авторизации, таблица ниже поможет выбрать подходящий метод для ваших задач.
Авторизация через самостоятельно выпущенный ключ | Авторизация через OAuth | Авторизация через внешние сервисы OAuth | Авторизация по аккаунту и паролю | |
---|---|---|---|---|
Назначение | Рекомендуется использовать для подключения BYTEHAND к вашему собственному проекту. | Рекомендуется использовать при реализации интеграций сервиса BYTEHAND и других публичных сервисов. | Не рекомендуется использовать. Используется самим сервисом BYTEHAND для работы личного кабинета. | Не рекомендуется использовать. Используется самим сервисом BYTEHAND для работы личного кабинета. |
Требуется разрешение на использование | Нет. | Нет, но требуется регистрация приложения. | Да. | Нет. |
Можно ли использовать публично | Нет, безопасное использование возможно только с вашего сервера. | Да. | Да, если пользователи будут указывать свой собственный аккаунт. | Да, если пользователи будут указывать свой собственный аккаунт и пароль. |
Возможно ли выбирать права доступа | Да. | Да. | Нет, всегда полный доступ. | Нет, всегда полный доступ. |
Авторизация через самостоятельно выпущенный ключ
Рекомендуется использовать для подключения BYTEHAND к вашему собственному проекту.
Для того чтобы самостоятельно выпустить ключ доступа, в личном кабинете, на странице Настройки нажмите кнопку Добавить ключ доступа.
Самостоятельно выпущенный ключ всегда привязан к вашему аккаунту, его безопасное использование возможно только с вашего сервера.
Авторизация через OAuth
Рекомендуется использовать при реализации интеграций сервиса BYTEHAND и других публичных сервисов.
Для начала использования Авторизации через OAuth необходимо зарегистрировать ваше приложение, обратитесь для этого в службу поддержки. Вам будет предоставлен Идентификатор приложения client_id и Защищенный ключ вашего приложения client_secret.
Как использовать?
- Для открытия диалога авторизации необходимо перенаправить браузер пользователя по адресу https://www.bytehand.com/api/v2/oauth/authorize, передав все требующиеся в описании метода параметры.
- Пользователю будет предложено авторизовать приложение, разрешив доступ к аккаунту с запрошенными при помощи параметра scope правами доступа. Если пользователь уже разрешил доступ вашему приложению, этот шаг может быть пропущен.
- После успешной авторизации приложения браузер пользователя будет перенаправлен по адресу redirect_uri, указанному при открытии диалога авторизации. При этом код для получения ключа доступа code и строка state будут переданы в GET параметрах на указанный адрес: GET redirect_uri?code=code&state=state
В случае возникновения ошибки браузер пользователя будет перенаправлен с кодом и описанием ошибки:Параметр code может быть использован в течение 1 часа для получения ключа доступа к API.
GET redirect_uri?error=error&error_description=error_description&state=state - После получения значения code вам необходимо его обменять на ключ доступа. Для этого требуется вызвать метод https://api.bytehand.com/v2/oauth/token.
- Обладая ключом доступа, вы можете вызывать методы BYTEHAND API от имени того пользователя, который предоставил вам доступ.
Список методов
Method | Description |
---|---|
authorizeWithInnerOAuth | GET /oauth/authorize Opens an OAuth authorization dialog. Does not require authorization and any specific access rights. |
exchangeInnnerOAuthCode | POST /oauth/token Exchanges an OAuth authorization access code for an access token. Does not require authorization and any specific access rights. |
revokeInnnerOAuthToken | DELETE /oauth/token Revokes the current access token obtained via OAuth authorization. Requires authorization and any access rights. |
Авторизация через внешние сервисы OAuth
Не рекомендуется использовать. Используется самим сервисом BYTEHAND для работы личного кабинета.
Адрес, на который будет перенаправлен пользователь после авторизации, должен соответствовать значениям в списке доверенных адресов BYTEHAND. Добавить ваш адрес в список доверенных адресов можно через службу поддержки.
Список методов
Method | Description |
---|---|
getExternalOAuthProviders | GET /oauth/providers Returns a list of providers for authorization through external OAuth services. Does not require authorization and any specific access rights. |
loginWithExternalOAuth | PUT /oauth/providers/providerId Authorizes a BYTEHAND user through an external OAuth service. Does not require authorization and any specific access rights. |
registerWithExternalOAuth | POST /oauth/providers/providerId Registers a new BYTEHAND user via an external OAuth service. Does not require authorization and any specific access rights. |
bindWithExternalOAuth | PATCH /oauth/providers/providerId Binds a BYTEHAND user and an account in an external OAuth service. Requires authorization and access right credentials_manage. |
getCurrentUserAccounts | GET /users/current/oauth Returns a list of all associated accounts in external OAuth services. Requires authorization and access right credentials_view. |
deleteCurrentUserAccount | DELETE /users/current/oauth/userAccountId Unlinks an account in an external OAuth service from a BYTEHAND user. Requires authorization and access right credentials_manage. |
Авторизация по аккаунту и паролю
Не рекомендуется использовать. Используется самим сервисом BYTEHAND для работы личного кабинета.
Список методов
Method | Description |
---|---|
loginUser | PUT /users Authorizes a user with a login and password. Does not require authorization and any specific access rights. |
registerUser | POST /users Creates a new BYTEHAND account. Does not require authorization and any specific access rights. |