ORCID интеграции используют «трехсторонний протокол OAuth» для аутентификации пользователей и запроса разрешения на взаимодействие с их записями. Любая интеграция может запрашивать разрешения на чтение с помощью общедоступного API. ORCID участники могут использовать API участников, чтобы запросить разрешения на обновление. Это работает следующим образом:
- Вы создаете специальную ссылку
- При нажатии пользователь отправляется на ORCID
- ORCID просит пользователя войти в систему
- ORCID просит пользователя предоставить разрешение вашему приложению
- ORCID отправляет пользователя обратно в вашу систему с кодом авторизации
- Ваша система обменивает этот код на токен доступа
Настраиваемый URL-адрес авторизации включает в себя информацию о вашем клиенте, а также «области», определяющие конкретные области их записей, к которым вы хотите получить доступ. После входа в систему пользователь авторизует соединение с вашей системой и возвращается на целевую страницу вместе с кодом авторизации. Этот код затем используется для получения их ORCID iD вместе с токеном доступа, действительным для запрошенных областей.
Создайте ссылку для авторизации и получите код авторизации
Вы создаете свою ссылку для авторизации, указав клиент учетных данных вашего API ID и связанная целевая страница (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, которые вы делаете для чтения или обновления этой записи.