ORCID интеграции используют «трехсторонний OAuth» для аутентификации пользователей и запроса разрешения на взаимодействие с их записями. Любая интеграция может запрашивать разрешения на чтение с помощью общедоступного API. ORCID участники могут использовать Member API для запроса разрешений на обновление. Это работает следующим образом:
- Вы создаете специальную ссылку
- При нажатии пользователь отправляется на ORCID
- ORCID просит пользователя войти в систему
- ORCID просит пользователя предоставить разрешение вашему приложению
- ORCID отправляет пользователя обратно в вашу систему с кодом авторизации
- Ваша система обменивает этот код на токен доступа
Настраиваемый URL-адрес авторизации включает информацию о вашем клиенте, а также «области действия», которые определяют определенные области их записи, к которым вы хотите получить доступ. После входа пользователь разрешает подключение к вашей системе и возвращается на вашу целевую страницу вместе с кодом авторизации. Затем этот код используется для получения их ORCID iD вместе с токеном доступа, действительным для запрошенных областей.
Создайте ссылку для авторизации и получите код авторизации
Вы создаете ссылку авторизации, указывая идентификатор клиента учетных данных API и связанную целевую страницу (URI перенаправления). Вы выбираете, какие разрешения запрашивать, устанавливая параметр области.
В приведенном ниже примере запрашивается разрешение на чтение данных с ограниченным доступом на ORCID тестовый сервер в песочнице. В реальном мире вы показываете эту ссылку на своем веб-сайте или включаете ее в электронное письмо, когда просите пользователя пройти аутентификацию и авторизацию. Однако в целях тестирования вы можете просто вставить его в свой веб-браузер. Замените данные в квадратных скобках информацией о вашем клиенте и обязательно удалите квадратные скобки!
https://sandbox.orcid.org/oauth/authorize?client_id=[Your client ID]&response_type=code&scope=/read-limited&redirect_uri=[Your landing page]
После того, как пользователь щелкнул ссылку, вошел в систему на ORCID и предоставленные разрешения они перенаправляются обратно на ваш сайт, например:
https://[Your landing page]?code=Q70Y3A
Обменять код авторизации на ORCID iD и токен доступа
Вам следует немедленно обменять код авторизации на ORCID iD и токен доступа. Срок действия кода авторизации истекает после использования. Запрос выглядит так и нельзя сделать в веб-браузере, это должен сделать ваш сервер.
URL=https://sandbox.orcid.org/oauth/token
HEADER: Accept: application/json
HEADER: Content-Type: application/x-www-form-urlencoded
METHOD: POST
DATA:
client_id=[Your client ID]
client_secret=[Your client secret]
grant_type=authorization_code
code=Six-digit code
redirect_uri=[Your landing page]
ORCID затем вернет проверенные исследователем ORCID iD и токен доступа в формате JSON:
{"access_token":"f5af9f51-07e6-4332-8f1a-c0c11c1e3728","token_type":"bearer",
"refresh_token":"f725f747-3a65-49f6-a231-3e8944ce464d","expires_in":631138518,
"scope":"/read-limited","name":"Sofia Garcia","orcid":"0000-0001-2345-6789"}
По умолчанию токены доступа имеют долгий срок действия и истекают через 20 лет после выпуска. Токен можно использовать несколько раз до истечения срока его действия.
Используйте токен доступа
Токены трехстороннего доступа связаны с конкретными ORCID записывать. Чтобы использовать их, вы включаете их в запросы API, которые вы делаете для чтения или обновления этой записи.