В руководстве описаны шаги по аутентификации ORCID я бы. Его можно заполнить с помощью что такое варган? or членский API. В нем рассматриваются шаги по получению проверено ORCID iD, который затем можно сохранить в базе данных вашей системы. Существует два варианта: трехсторонний OAuth (для долгосрочных разрешений на обновление) и неявный OAuth (для краткосрочных разрешений только для чтения).
- Получите некоторые учетные данные клиента
- Зарегистрируйте свои URL-адреса перенаправления
- Внедрить OAuth
Получите некоторые учетные данные клиента
Учетные данные клиента - это имя пользователя и пароль, которые ваше приложение / веб-сайт будет использовать для доступа к ORCID API. Любой может зарегистрироваться для получения учетных данных Public API только для чтения. ORCID участники могут зарегистрироваться для членского API.
Мы рекомендуем разработчикам протестировать общедоступный API в сервер тестирования песочницы перед использованием производственной версии. Ниже приведены инструкции по регистрации учетных данных общедоступного API как в песочнице, так и в производственной среде.
- Войдите в свой ORCID запись:
Производственный сервер: https://orcid.org/signin
Сервер тестирования песочницы: https://sandbox.orcid.org/signin - Нажмите на свое имя в правом верхнем углу.
- Нажмите Инструменты разработчика из пункта меню
Примечание: Чтобы получить доступ к инструментам разработчика, вы должны подтвердить свой адрес электронной почты. Если вы еще не подтвердили свой адрес электронной почты, вам будет предложено сделать это, прежде чем вы сможете зарегистрироваться для получения учетных данных общедоступного API. - Прочитайте и согласитесь с 'ORCID Условия обслуживания публичных клиентов
- Нажмите «Зарегистрироваться для ORCID общедоступные учетные данные API».
Заполнение формы сведений о заявке
- После того, как вы зарегистрируетесь для получения учетных данных Public API, вы будете перенаправлены обратно в Инструменты разработчика (https://orcid.org/developer-tools or https://sandbox.orcid.org/developer-tools).
- Вам необходимо заполнить форму сведений о заявке, представленную для регистрации новой заявки.
- Название: Имя вашего приложения. Это будет показано пользователям, когда они предоставят вашему приложению разрешение на получение своих ORCID iD, и он будет отображаться в их Список доверенных организаций. Мы рекомендуем использовать название вашей организации или службы (например, название журнала).
- URL приложения: Веб-сайт, который пользователь может посетить, чтобы узнать больше о вашем приложении. Это также будет отображаться в их Список доверенных организаций.
- Описание приложения: Информация о приложении, которое вы разрабатываете, и о том, как вы будете использовать пользовательский ORCID я бы. Это будет отображаться для пользователей на экране OAuth.
Добавление Перенаправить URI
Как только пользователь авторизует ваше приложение, он будет возвращен на указанный вами URI. Вы должны указать эти URI заранее, иначе ваши пользователи интеграции столкнутся с ошибкой.
- Введите свой URI перенаправления в соответствующее поле.
- Если вам нужно ввести более 1 URI перенаправления, нажмите «Добавить другой URI перенаправления».
Пожалуйста, обратите внимание:
- Только URI HTTPS принимаются в производство
- Домены зарегистрированы ОБЯЗАТЕЛЬНО точно соответствуют используемым доменам, включая субдомены
- Зарегистрируйте все URI перенаправления полностью, где это возможно. Это самый безопасный вариант, который мы рекомендуем. Для получения дополнительной информации об URI перенаправления см. часто задаваемые вопросы по URI перенаправления
Сохранение вашего приложения
После того, как вы заполнили форму заявки и добавили свои URI перенаправления, вы можете сохранить свое приложение.
- Нажмите «Сохранить мою заявку и сгенерировать мой идентификатор клиента и секрет».
Вы будете перенаправлены обратно на страницу инструментов разработчика, которая теперь будет включать ваши учетные данные клиента Public API.
Обновление ваших учетных данных
Внести изменения в информацию о приложении очень просто.
- Отредактируйте соответствующую информацию и нажмите «Сохранить приложение».
Используйте свои учетные данные
Теперь, когда у вас есть учетные данные, пора начать использовать ORCID Публичный API!
Обратите внимание, что мы можем передать ваши учетные данные членскому API, если вы станете ORCID член в будущем.
Вы можете запросить учетные данные API участника тестовой среды для создания и тестирования вашего приложения. Эти учетные данные позволяют вам выполнять вызовы API-интерфейса премиум-члена песочницы для чтения, записи и обновления. ORCID записи. Доступ к тестовой среде "песочницы" доступен каждому, даже если вы не являетесь ORCID членская организация.
Внимание: Если вы используете ORCID сертифицированная система поставщика услуг, которая уже поддерживает ORCID, вам не нужно регистрироваться для получения учетных данных API песочницы, если вы не хотите опробовать ORCID функциональность интеграции в среде Sandbox.
Песочница позволяет вам создавать тестовые учетные записи пользователей и развивать свою интеграцию, не беспокоясь о влиянии данных на живые (производственные) ORCID Реестр. Песочница ведет себя так же, как и продакшн. ORCID Реестр с несколько исключений.
Создание тестовой учетной записи
Чтобы проверить ORCID API и вызовы API, такие как чтение и добавление информации в ORCID запись, вам также потребуется создать тест ORCID запись в песочнице. Это можно сделать через пользовательский интерфейс, как на продакшене. ORCID Реестр. Перейти к https://sandbox.orcid.org/register и зарегистрируйте аккаунт.
Адреса электронной почты Mailinator
Сервер песочницы отправляет электронные письма только на Mailinator Адреса электронной почты (@mailinator.com), чтобы непреднамеренно не спамить почтовые серверы. Вы не получите электронное письмо с подтверждением или уведомление о сбросе пароля, если не используете адрес @mailinator.com, а проверка требуется для внесения любых изменений в записи песочницы вручную. Узнайте больше об их бесплатных общедоступных почтовых ящиках здесь. Если вы не хотите использовать Mailinator адрес, затем запишите свое имя пользователя и пароль (поскольку вы будете использовать их для авторизации вашего приложения при тестировании) и свяжитесь с нами, чтобы запросить помощь с проверкой.
Mailinator это служба электронной почты, которая имеет общедоступную бесплатную услугу и частную платную услугу. Для тестирования вы можете воспользоваться совершенно бесплатным публичным сервисом. Узнайте больше об их уровнях здесь.
Mailinator - это сторонний сервис, который не управляется и не поддерживается ORCID. Мы рекомендуем вам ознакомиться с принципами работы этой службы и ее ограничениями, прежде чем использовать эти адреса.
Зарегистрируйте свои URL-адреса перенаправления
После входа в систему пользователи отправляются по URL-адресу, который вы указываете при регистрации клиента.
Что такое URI перенаправления и как они используются?
URI перенаправления используются нашей службой аутентификации OAuth в качестве меры безопасности. ORCID будет отправлять аутентифицирующихся пользователей только на URI, зарегистрированные клиентом, запрашивающим аутентификацию. Это предотвращает олицетворение служб друг другом.
Обратите внимание, что только URI HTTPS принимаются в производство. Вы можете протестировать использование HTTP URI, но вам нужно будет зарегистрироваться URI HTTPS когда вы подаете заявку на получение учетных данных API-члена рабочей среды.
Как мы сопоставляем URI перенаправления?
- Вы ДОЛЖНЫ зарегистрировать поддомены как отдельные URI.. https://anythingelse. ThirdParty.com не будет работать.
- Полная регистрация всех URI перенаправления, включая путь, рекомендуется, это то, что делают большинство третьих сторон, и это самый безопасный вариант.
- Если клиентское приложение зарегистрировано с URI перенаправления, который является просто именем хоста, то можно использовать любой URI перенаправления на этом хосте.. Так, например, если зарегистрирован следующий URI перенаправления: https://thirdparty.com тогда все следующие redirect_uris будут работать:
- https://thirdparty.com/oauth/callback1
- https://thirdparty.com/callback2
- https://thirdparty.com/anything-else-as-long-as-the-host-is-the-same
Однако https://anythingelse. ThirdParty.com не будет работать. ОБЯЗАТЕЛЬНО зарегистрировать поддомены как отдельные URI.
Что произойдет, если мой URI перенаправления неверен?
Пользователи отправлены для аутентификации в ORCID с неправильными URI перенаправления увидит сообщение об ошибке, подобное этому:
Управление URI перенаправления для участников
Если вы используете членский API и вам требуются какие-либо изменения в ваших URI перенаправления, обратитесь в нашу группу взаимодействия.
Управление URI перенаправления для общедоступных клиентов
Если вы используете общедоступный API, вам нужно будет выполнить следующие шаги, чтобы обновить список URI перенаправления, связанных с вашим ORCID общедоступный идентификатор клиента API. Вы можете сделать это, выполнив следующие действия:
- Войдите в свой ORCID запись
- Щелкните свое имя в правом углу
- Выберите инструменты разработчика
- Щелкните карандаш редактирования рядом с именем клиента.
- Отредактируйте существующий URI перенаправления или нажмите «Добавить другой URI перенаправления», отредактируйте существующий
- После того, как вы внесли изменения, вам нужно нажать на значок сохранения
Только URI HTTPS принимаются в производство. Вы можете протестировать использование http URI, но вам нужно будет зарегистрировать HTTPS URI при подаче заявки на учетные данные API-члена рабочей среды.
Внедрить OAuth
Ниже мы объясним три «разновидности» OAuth, поддерживаемые ORCID. Большинство языков программирования имеют библиотеки OAuth и/или OpenID, которые упрощают интеграцию.
Трехсторонний OAuth
Это стандартный способ аутентификации пользователя. ORCID iD и может использоваться для получения долговременных разрешений на обновление вместе с аутентифицированными ORCID я бы.
ORCID интеграции используют «трехсторонний протокол OAuth» для аутентификации пользователей и запроса разрешения на взаимодействие с их записями. Любая интеграция может запрашивать разрешения на чтение с помощью общедоступного API. ORCID участники могут использовать 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 и токен доступа. Срок действия кода авторизации истекает после его использования. Запрос выглядит так и нельзя сделать в веб-браузере, это должен сделать ваш сервер.
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, которые вы делаете для чтения или обновления этой записи.
Неявный OAuth
Это ориентированный на браузер способ аутентификации пользователя. ORCID iD для использования приложениями на основе браузера, которым не требуются разрешения на обновление.
Неявный OAuth — это облегченная версия OAuth, предназначенная для использования системами, которые не имеют или не хотят использовать серверные компоненты. Неявный OAuth может быть полностью реализован в браузере с использованием только JavaScript. Он доступен для членов и нечленов и работает следующим образом:
- Вы создаете специальную ссылку
- При нажатии пользователь отправляется на ORCID
- ORCID просит пользователя подписать i
- ORCID просит пользователя предоставить разрешение вашему приложению
- ORCID отправляет пользователя обратно в вашу систему с его ORCID iD, токен доступа и идентификационный токен.
- Ваша система извлекает и хранит аутентифицированные ORCID iD из ответа.
В целях безопасности при использовании неявного OAuth ORCID не будет возвращать токены доступа с разрешениями на обновление.
Неявный поток
Неявный поток разработан таким образом, что клиентам не нужно использовать свой секретный ключ для запуска ORCID войдите в систему. Безопасность обеспечивается ограничением клиентов их зарегистрированными redirect_urls. Этот более низкий уровень безопасности означает, что ORCID поддерживает только области / Authenticate и openid при использовании неявного потока. Токены также недолговечны, их продолжительность жизни составляет 10 минут. Этот поток рекомендуется для клиентских приложений, у которых нет доступа к внутреннему серверу, например, телефонных приложений или одностраничных веб-приложений javascript.
https://localhost/#access_token=24c11342-f5da-4cf9-94a4-f8a72a30da00&token_type=bearer&expires_in=599&tokenVersion=1&persistent=false&id_token=eyJraWQiOiJxYS1vcmNpZC1vcmctcjlhZmw3cWY2aG2c5bmdzenU1bnQ3Z3pmMGVhNmkiLCJhbGciOiJSUzI1NiJ9.eyJhdF9oYXNoIjoiMW52bXZBbVdwaVd0Z3ZKZW1DQmVYUSIsImF1ZCI6IkFQUC02TEtJSjNJNUIxQzRZSVFQIiwic3ViIjoiMDAwMC0wMDAyLTUwNjItMjIwOSIsImF1dGhfdGltZSI6MTUwNTk4Nzg2MiwiaXNzIjoiaHR0cHM6XC9cL29yY2lkLm9yZyIsIm5hbWUiOiJNciBDcmVkaXQgTmFtZSIsImV4cCI6MTUwNTk4ODQ2MywiZ2l2ZW5fbmFtZSI6IlRvbSIsImlhdCI6MTUwNTk4Nzg2Mywibm9uY2UiOiJ3aGF0ZXZlciIsImZhbWlseV9uYW1lIjoiRGVtIiwianRpIjoiY2U0YzlmNWUtNTBkNC00ZjhiLTliYzItMmViMTI0ZDVkNmNhIn0.hhhts2-4-ibjXPW6wEsFRaNqV_A-vTz2JFloYn7mS1jzQt3xuHiSaSIiXg3rpnt1RojF_yhcvE9Xe4SOtYimxxVycpjcm8yT_-7lUSrc46UCt9qW6gV7L7KQyKDjNl23wVwIifpRD2JSnx6WbuC0GhAxB5-2ynj6EbeEEcYjAy2tNwG-wcVlnfJLyddYDe8AI_RFhq7HrY4OByA91hiYvHzZ8VzoRW1s4CTCFurA7DoyQfCbeSxdfBuDQbjAzXuZB5-jD1k3WnjqVHrof1LHEPTFV4GQV-pDRmkUwspsPYxsJyKpKWSG_ONk57E_Ba--RqEcE1ZNNDUYHXAtiRnM3w
Смотрите наши техническая документация чтобы получить больше информации.
OpenID
OpenID построен на основе OAuth и предлагает некоторые дополнительные функции.
OpenID Connect 1.0 - это простой уровень идентификации поверх протокола OAuth 2.0. Он дополняет существующие потоки аутентификации OAuth и предоставляет клиентам информацию о пользователях в хорошо описанной форме.
OpenID connect - это стандартизированный способ реализации OAuth и обмена информацией об аутентифицированных пользователях. Теперь можно будет настроить службы для использования ORCID «из коробки» наряду с другими провайдерами OpenID Connect, соответствующими стандартам. OpenID Connect также предоставляет токены ID с возможностью совместного использования, которые являются подписанными объектами, которые могут подтвердить, что пользователь прошел аутентификацию с помощью ORCID в определенное время. Эти токены могут использоваться элементами пользовательского интерфейса для поддержки пользовательских сеансов.
ORCID поддерживает базовый профиль соответствия поставщика OpenID, который является расширением потока кода авторизации OAuth. ORCID также поддерживает неявный поток токенов для областей действия «/ authenticate» и «openid».
Это означает, что ORCID:
- Встраивает подписанные токены идентификаторов в ответы токенов для кодов авторизации, сгенерированных с областью действия «openid»
- Поддерживает неявный поток при использовании response_types 'token' или 'token id_token' и области 'openid'.
- Поддерживает параметры «prompt», «nonce» и «max_age» для запросов авторизации, которые включают область «openid».
- Поддерживает обнаружение Openid Connect и конечные точки информации пользователя
- Поддерживает поле amr для интеграторов, использующих членский API для запросов авторизации, которые включают область openid. Это можно использовать, чтобы определить, прошел ли пользователь аутентификацию с использованием двухфакторной аутентификации.
Инициирование аутентификации OpenID Connect работает так же, как обычная аутентификация OAuth. Все, что требуется, это то, что клиент запрашивает область «openid». Если вы используете область / Authenticate, замените ее на openid, поскольку Authenticate и openid имеют одинаковую авторизацию, следует использовать только один или другой. Если вы используете какие-либо другие области, добавьте openid в список запрашиваемых областей. Когда область openid включена, реестр вернет id_token внутри ответа токена и предоставит клиенту разрешение на доступ к конечной точке информации о пользователе для этого пользователя.
обратите внимание, что область «openid» не начинается с «/», как другая ORCID Области API. Это связано с тем, что область действия openid не определяется ORCID, но вместо этого определяется спецификацией OpenID Connect.
Смотрите наши техническая документация чтобы получить больше информации.
Собирайте аутентифицированные iD с помощью ORCIDвиджет OAuth Java Script Widget
ORCID обеспечивает простой Виджет Java Script которые можно использовать для получения аутентифицированных ORCID iD, использующие OAuth с OpenID Connect.
Обратите внимание, что виджет использует неявный протокол OAuth, поэтому не собирает никаких разрешений на запись. Это означает, что он не подходит для интеграции участников, которые хотят обновлять записи. Пожалуйста, посмотрите наш учебник для Добавление и обновление данных на ORCID Records.