ADN Open CIS
Сообщество программистов Autodesk в СНГ

27/07/2016

Руководство по полям oAuth API Autodesk Forge

Client ID

"client ID", по существу, имя пользователя вашего приложения и может быть найден в разделе My Apps.

На других платформах, иногда это называют "consumer key" или "API key".

Это буквенно-цифровая строка длинной 32 символа (например, 5zw90va0UuwMKTnPS5sLsdgZjDkVYXN7), и она передается в качестве значения для параметра запроса client_id и атрибута JSON.

Client Secret

"client secret", по существу, пароль вашего приложения и его можно найти рядом с идентификатором клиента в разделе Мои приложения.

На других платформах, иногда это называют "consumer secret" или "API secret".

Это буквенно-цифровая строка из 16 символов (например,7I6uN1rjneirxiMW), и оно передается в качестве значения для параметра запроса client_secret .

Если вы теряете контроль над учетными данными, вы можете восстановить свой client secret.

Authorization Code

В three-legged потоке OAuth, код авторизации передается через параметр запроса code , когда пользователь перенаправляется обратно в приложение через функцию обратного вызова URL. Все, что возвращено таким способом, доступно для конечного пользователя и, в принципе, любой промежуточной системе (в том числе программам-шпионам в расширениях для браузера).

По этой причине, непосредственный возврат маркера доступа представляет собой угрозу безопасности. Но код авторизации сам по себе не может быть использован, для получения маркера доступа; приложение должно дополнить его своим client ID и secret в конечной точке POST gettoken. Поскольку конечный пользователь - и любая часть приложения, которая работает в веб-браузере - не имеет client ID и secret, маркер доступа не открывается.

Код авторизации - это строка из 40 символов (например, wroM1vFA4E-Aj241-quh_LVjm7UldawnNgYEHQ8I).

Access Token

Маркер доступа (иногда просто "token" или "bearer token") возвращается в конце успешного потока аутентификации.

Маркер используется в последующих вызовах API к платформе Forge. Платформа отслеживает, к каким ресурсам маркер имеет право на доступ, и разрешает или запрещает доступ во время вызова.

Это буквенно-цифровая строка длинной 28 символов (например, GX6OONHlQ9qoVaCSmBqJvqPFUT5i), и она передается в качестве значения для атрибута JSON access_token и параметра запрос аtoken.

Маркеры имеют ограниченный срок службы и заканчивается по истечении количества секунд, указанного в атрибуте JSON expires_in, который возвращается наряду с атрибутом access_token, когда он был впервые получен.

В two-legged контексте, конечная точка POST authenticate  возвращает объект JSON, который включает маркер доступа. Например:

Код - HTML: [Выделить]
  1. {
  2.   "token_type": "Bearer",
  3.   "expires_in": 1800,
  4.   "access_token": "0AyhJ1hqUbXlwXfxFSPWVRiDJFrc"
  5. }

Обновление Token

В контексте three-legged было ужасно требовать, чтобы конечный пользователь вашего приложения проходил через процесс аутентификации каждый раз, как маркер доступа становится просроченным. Когда ваше приложение получает three-legged маркер аутентификации, он также предоставляет маркер обновления, который может быть использован с конечной точкой POST refreshtoken для получения нового three-legged маркера доступа без участия пользователя путём помещения их в другой процесс аутентификации. (Больше информации вы можете получить в разделе «Общие проверки подлинности и авторизации потоков" на странице API Basics .)

Это 42-символьная буквенно-цифровая строка (например, SDrclmgQSGyF79wjLqxQeEIjqELf0wE8aMym02PjRy), и она передается в качестве значения для параметра запроса refresh_token и атрибута JSON.

В three-legged контексте конечная точка POST gettoken  возвращает объект JSON, который включает маркер обновления. Например:

Код - HTML: [Выделить]
  1. {
  2.   "token_type": "Bearer",
  3.   "expires_in": 1800,
  4.   "refresh_token": "f2NWXxfnJOJMA1cW4k2zjFwmphf8vZjEUx3kmplFfn",
  5.   "access_token": "9WlQeEpOdVrAO9SOH8ab4m00Ngrd"
  6. }

Источник: https://developer.autodesk.com/en/docs/oauth/v2/overview/field-guide/

Автор перевода: Дмитрий Емельянов

Обсуждение: http://adn-cis.org/forum/index.php?topic=

Опубликовано 27.07.2016