W samouczku opisano kroki uwierzytelniania pliku ORCID ID. Można go ukończyć za pomocą publiczny or API członka. Przegląda kroki umożliwiające pobranie pliku a zweryfikowana ORCID iD, które można następnie zapisać w bazie danych systemu. Istnieją dwie opcje: 3-etapowy OAuth (w przypadku długoterminowych uprawnień do aktualizacji) i niejawny OAuth (w przypadku krótkoterminowych uprawnień tylko do odczytu).
Zdobądź dane uwierzytelniające klienta
Poświadczenia klienta to nazwa użytkownika i hasło, których aplikacja/strona internetowa będzie używać w celu uzyskania dostępu do ORCID API. Każdy może zarejestrować się, aby uzyskać poświadczenia publicznego API tylko do odczytu, ORCID członkowie mogą zarejestrować się w interfejsie API członków.
Zalecamy, aby programiści przetestowali publiczny interfejs API w serwer testowy piaskownicy przed użyciem wersji produkcyjnej. Poniżej znajdują się kroki dotyczące rejestracji w celu uzyskania poświadczeń publicznych interfejsów API zarówno w środowisku piaskownicy, jak i produkcyjnym.
- Zaloguj się na swoje ORCID rekord:
Serwer produkcyjny: https://orcid.org/signin
Serwer testowy piaskownicy: https://sandbox.orcid.org/signin - Kliknij swoje imię w prawym górnym rogu
- Kliknij Narzędzia Deweloperskie z opcji menu
Uwaga: Aby uzyskać dostęp do Narzędzi dla programistów, musisz zweryfikować swój adres e-mail. Jeśli nie zweryfikowałeś jeszcze swojego adresu e-mail, zostaniesz poproszony o zrobienie tego, zanim będziesz mógł zarejestrować się w celu uzyskania publicznych poświadczeń API - Przeczytaj i zaakceptuj „ORCID Warunki świadczenia usług dla klientów publicznych
- Kliknij przycisk „Zarejestruj się ORCID przycisk poświadczeń publicznego interfejsu API”.
Wypełnienie formularza szczegółów aplikacji
- Po zarejestrowaniu się w celu uzyskania poświadczeń publicznego interfejsu API nastąpi przekierowanie z powrotem do narzędzi dla programistów (https://orcid.org/developer-tools or https://sandbox.orcid.org/developer-tools).
- Aby zarejestrować nową aplikację, należy wypełnić przedstawiony formularz szczegółów wniosku.
- Imię: Nazwa Twojej aplikacji. Zostanie to wyświetlone użytkownikom, gdy udzielą Twojej aplikacji pozwolenia na ich uzyskanie ORCID iD i będzie wyświetlany w ich Lista zaufanych organizacji. Zalecamy użycie nazwy organizacji lub usługi (np. nazwy czasopisma).
- URL aplikacji: Witryna, którą użytkownik może odwiedzić, aby dowiedzieć się więcej o Twojej aplikacji. Będzie to również widoczne w ich Lista zaufanych organizacji.
- Opis aplikacji: Informacje o aplikacji, którą tworzysz i o tym, jak będziesz korzystać z aplikacji użytkownika ORCID ID. Zostanie to wyświetlone użytkownikom na ekranie OAuth.
Dodawanie Identyfikatory URI przekierowania
Gdy użytkownik zatwierdzi Twoją aplikację, zostanie zwrócony do określonego przez Ciebie identyfikatora URI. Musisz podać te identyfikatory URI z wyprzedzeniem, w przeciwnym razie użytkownicy integracji napotkają błąd.
- Wprowadź identyfikator URI przekierowania w wyświetlonym polu
- Jeśli musisz wprowadzić więcej niż 1 identyfikator URI przekierowania, kliknij „Dodaj kolejny identyfikator URI przekierowania”
UWAGA:
- Only Identyfikatory URI HTTPS są akceptowane w produkcji
- Domeny zarejestrowane MUST dokładnie pasują do używanych domen, w tym subdomen
- Jeśli to możliwe, należy w pełni zarejestrować wszystkie identyfikatory URI przekierowań. Jest to najbezpieczniejsza opcja i zalecamy. Aby uzyskać więcej informacji na temat identyfikatorów URI przekierowania, zobacz nasze Często zadawane pytania dotyczące identyfikatora URI przekierowania
Zapisywanie aplikacji
Po wypełnieniu formularza zgłoszeniowego i dodaniu identyfikatorów URI przekierowania możesz zapisać swoją aplikację.
- Kliknij „Zapisz moją aplikację i wygeneruj mojego klienta”. ID i tajemnica'
Nastąpi przekierowanie z powrotem na stronę narzędzi dla programistów, która będzie teraz zawierać poświadczenia klienta publicznego interfejsu API
Aktualizowanie poświadczeń
Dokonywanie zmian w informacjach o aplikacji jest bardzo proste.
- Edytuj odpowiednie informacje, a następnie kliknij „Zapisz wniosek”
Użyj swoich poświadczeń
Teraz, gdy masz już swoje poświadczenia, nadszedł czas, aby zacząć używać ORCID Publiczne API!
Pamiętaj, że możemy przenieść Twoje dane uwierzytelniające do API członka, jeśli zostaniesz członkiem ORCID członek w przyszłości.
Możesz zażądać poświadczeń interfejsu użytkownika piaskownicy zbudować i przetestować swoją aplikację. Te poświadczenia umożliwiają wykonywanie wywołań do interfejsu API członka piaskownicy w celu odczytu, zapisu i aktualizacji ORCID dokumentacja. Dostęp do środowiska testowego piaskownicy jest bezpłatny dla każdego, nawet jeśli nie jesteś ekspertem ORCID organizacja członkowska.
Note: Jeśli korzystasz z systemu innej firmy, który już obsługuje ORCID, rejestracja w celu uzyskania poświadczeń interfejsu API piaskownicy może nie być konieczna.
Piaskownica umożliwia tworzenie testowych kont użytkowników i rozwijanie integracji bez martwienia się o wpływ na dane na żywo (produkcyjne) ORCID Rejestr. Piaskownica zachowuje się tak samo jak produkcja ORCID Rejestr z kilka wyjątków.
Tworzenie konta testowego
W celu przetestowania ORCID Wywołania API i API, takie jak odczytywanie i dodawanie informacji do pliku ORCID rekordu, konieczne będzie również utworzenie testu ORCID nagrywać w piaskownicy. Można to zrobić za pomocą interfejsu użytkownika, podobnie jak na produkcji ORCID Rejestr. Iść do https://sandbox.orcid.org/register i załóż konto.
Adresy e-mail Mailinatora
Serwer piaskownicy wysyła wiadomości e-mail z powiadomieniami tylko do Mailinator (@mailinator.com) adresy e-mail, aby nieumyślnie nie spamować serwerów pocztowych. Nie otrzymasz e-maila weryfikacyjnego ani powiadomienia o zresetowaniu hasła, chyba że użyjesz adresu @mailinator.com, a weryfikacja jest wymagana w celu ręcznego edytowania rekordów piaskownicy. Dowiedz się więcej o ich bezpłatnych publicznych skrzynkach odbiorczych tutaj. Jeśli nie chcesz używać A Mailinator adres, a następnie zanotuj swoją nazwę użytkownika i hasło (ponieważ będziesz ich używać do autoryzacji aplikacji podczas testowania) i skontaktuj się z nami, aby poprosić o pomoc w weryfikacji.
Mailinator to usługa e-mail, która ma publiczną bezpłatną usługę i prywatną płatną usługę. Do testowania możesz skorzystać z całkowicie bezpłatnej usługi publicznej. Dowiedz się więcej o ich progach tutaj.
Mailinator to usługa strony trzeciej, która nie jest zarządzana ani utrzymywana przez firmę ORCID. Zalecamy zapoznanie się z działaniem tej usługi i jej ograniczeniami przed użyciem tych adresów.
Zarejestruj adresy URL przekierowań
Po zalogowaniu użytkownicy są wysyłani na adres URL określony przez Ciebie w ramach rejestracji klienta.
Co to są identyfikatory URI przekierowania i jak są używane?
Identyfikatory URI przekierowania są używane przez naszą usługę uwierzytelniania OAuth jako środek bezpieczeństwa. ORCID wyśle uwierzytelniających użytkowników tylko do identyfikatorów URI zarejestrowanych przez klienta żądającego uwierzytelnienia. Zapobiega to podszywaniu się usług pod inne osoby.
Należy pamiętać, że tylko identyfikatory URI HTTPS są akceptowane w produkcji. Możesz testować przy użyciu identyfikatorów URI HTTP, ale musisz się zarejestrować Identyfikatory URI HTTPS podczas ubiegania się o poświadczenia interfejsu API członka produkcyjnego.
Jak dopasowujemy identyfikatory URI przekierowania?
- MUSISZ zarejestrować subdomeny jako osobne identyfikatory URI. https://anythingelse.thirdparty.com nie będzie działać.
- Zaleca się pełną rejestrację wszystkich identyfikatorów URI przekierowania, w tym ścieżki, jest tym, co robi większość stron trzecich i jest najbezpieczniejszą opcją.
- Jeśli aplikacja kliencka jest zarejestrowana z identyfikatorem uri przekierowania, który jest tylko nazwą hosta, można użyć dowolnego identyfikatora uri przekierowania na tym hoście. Na przykład, jeśli zarejestrowany jest następujący identyfikator uri przekierowania: https://thirdparty.com wtedy wszystkie następujące redirect_uris będą działać:
- https://thirdparty.com/oauth/callback1
- https://thirdparty.com/callback2
- https://thirdparty.com/anything-else-as-long-as-the-host-is-the-same
Jednak https://anythingelse.thirdparty.com nie będzie działać. You MUST zarejestrować subdomeny jako osobne identyfikatory URI.
Co się stanie, jeśli mój identyfikator URI przekierowania jest nieprawidłowy?
Użytkownicy wysłani do uwierzytelnienia w ORCID z nieprawidłowymi identyfikatorami URI przekierowania, zostanie wyświetlony komunikat o błędzie podobny do tego:
Zarządzanie przekierowaniami URI dla członków
Jeśli korzystasz z interfejsu API członka i potrzebujesz zmian w identyfikatorach URI przekierowania, skontaktuj się z naszym zespołem ds. zaangażowania
Zarządzanie przekierowaniami URI dla klientów publicznych
Jeśli korzystasz z publicznego interfejsu API, musisz wykonać poniższe czynności, aby zaktualizować listę identyfikatorów URI przekierowań, które są powiązane z Twoim ORCID publiczny identyfikator klienta API. Możesz to zrobić, wykonując poniższe czynności:
- Zaloguj się do swojego konta ORCID rekord
- Kliknij swoje imię w prawym rogu
- Wybierz narzędzia programistyczne
- Kliknij ołówek edycji obok nazwy klienta
- Edytuj istniejący identyfikator URI przekierowania lub kliknij „Dodaj kolejny identyfikator URI przekierowania”, aby edytować istniejący
- Po dokonaniu zmian należy kliknąć ikonę zapisywania
Tylko identyfikatory URI HTTPS są akceptowane w produkcji. Możesz testować przy użyciu identyfikatorów URI http, ale będziesz musiał zarejestrować identyfikatory URI HTTPS podczas ubiegania się o poświadczenia API członka produkcyjnego.
Zaimplementuj uwierzytelnianie OAuth
Poniżej wyjaśniamy trzy „smaki” OAuth obsługiwane przez ORCID. Większość języków programowania ma dostępne biblioteki OAuth i/lub OpenID, które ułatwiają integrację.
Trójetapowa autoryzacja OAuth
Jest to standardowy sposób uwierzytelniania użytkownika ORCID iD i może być używany do uzyskiwania długotrwałych uprawnień do aktualizacji wraz z uwierzytelnianiem ORCID ID.
ORCID integracje wykorzystują „3-etapowy OAuth” do uwierzytelniania użytkowników i żądania pozwolenia na interakcję z ich rekordami. Każda integracja może poprosić o uprawnienia do odczytu za pomocą publicznego API. ORCID członkowie mogą korzystać z interfejsu API członka, aby poprosić o uprawnienia do aktualizacji. Działa to w ten sposób:
- Tworzysz specjalny link
- Po kliknięciu użytkownik jest wysyłany do ORCID
- ORCID prosi użytkownika o zalogowanie się
- ORCID prosi użytkownika o nadanie uprawnień do Twojej aplikacji
- ORCID odsyła użytkownika z powrotem do systemu z kodem autoryzacyjnym
- Twój system wymienia ten kod na token dostępu
Spersonalizowany adres URL autoryzacji zawiera informacje o kliencie, a także „zakresy” określające konkretne obszary jego dokumentacji, do których chcesz uzyskać dostęp. Po zalogowaniu użytkownik autoryzuje połączenie z Twoim systemem i wraz z kodem autoryzacyjnym wraca na Twój landing page. Kod ten jest następnie używany do uzyskania ich ORCID iD wraz z tokenem dostępu ważnym dla żądanych zakresów.
Łącze autoryzacyjne budujesz, określając klienta danych uwierzytelniających API ID i powiązaną stronę docelową (URI przekierowania). Możesz wybrać, o które uprawnienia chcesz poprosić, ustawiając parametr zakresu.
Poniższy przykład prosi o pozwolenie na odczyt danych o ograniczonym dostępie na ORCID serwer testowy piaskownicy. W prawdziwym świecie wyświetlasz ten link na swojej stronie internetowej lub dołączasz go do wiadomości e-mail, prosząc użytkownika o uwierzytelnienie i autoryzację. Jednak w celach testowych możesz po prostu wkleić go do swojej przeglądarki internetowej. Zastąp dane w nawiasach danymi swojego klienta i pamiętaj o usunięciu nawiasów kwadratowych!
https://sandbox.orcid.org/oauth/authorize?client_id=[Your client ID]&response_type=code&scope=/read-limited&redirect_uri=[Your landing page]
Jeden użytkownik kliknął link, zalogował się pod adresem ORCID i przyznane uprawnienia są przekierowywane z powrotem do Twojej witryny, na przykład:
https://[Your landing page]?code=Q70Y3A
Należy niezwłocznie wymienić kod autoryzacyjny na ORCID iD i token dostępu. Kod autoryzacyjny wygasa po użyciu. Żądanie wygląda tak i nie można wykonać w przeglądarce internetowej, musi być wykonane przez twój serwer.
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 następnie zwróci uwierzytelniony badacz ORCID iD oraz token dostępu w formacie 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"}
Tokeny dostępu są domyślnie długowieczne i wygasają po 20 latach od wydania. Token może być używany wielokrotnie, zanim wygaśnie.
Użyj tokena dostępu
Trójnożne tokeny dostępu są powiązane z konkretnymi ORCID nagrywać. Aby z nich skorzystać, należy uwzględnić je w żądaniach API wysyłanych w celu odczytania lub aktualizacji tego rekordu.
Niejawna autoryzacja OA
Jest to zorientowany na przeglądarkę sposób uwierzytelniania użytkownika ORCID iD do użytku przez aplikacje oparte na przeglądarce, które nie wymagają uprawnień do aktualizacji.
Implicit OAuth to lżejsza wersja OAuth przeznaczona do użytku w systemach, które nie mają lub nie chcą używać komponentów po stronie serwera. Niejawny OAuth można zaimplementować całkowicie w przeglądarce, używając samego JavaScript. Jest dostępny dla członków i osób niebędących członkami i działa w ten sposób:
- Tworzysz specjalny link
- Po kliknięciu użytkownik jest wysyłany do ORCID
- ORCID prosi użytkownika o podpisanie i
- ORCID prosi użytkownika o nadanie uprawnień do Twojej aplikacji
- ORCID wysyła użytkownika z powrotem do twojego systemu z jego ORCID iD, token dostępu i id znak.
- Twój system wyodrębnia i przechowuje uwierzytelnione ORCID iD z odpowiedzi.
Ze względów bezpieczeństwa podczas korzystania z niejawnej autoryzacji OAuth, ORCID nie zwróci tokenów dostępu z uprawnieniami do aktualizacji.
Niejawny przepływ
Niejawny przepływ jest zaprojektowany w taki sposób, że klienci nie muszą używać swojego tajnego klucza do inicjowania ORCID zaloguj się. Bezpieczeństwo jest egzekwowane poprzez ograniczenie klientów do ich zarejestrowanych adresów URL przekierowań. Ten niższy poziom bezpieczeństwa oznacza, że ORCID obsługuje zakresy /authenticate i openid tylko w przypadku korzystania z przepływu niejawnego. Tokeny są również krótkotrwałe, z 10-minutową żywotnością. Ten przepływ jest zalecany w przypadku aplikacji po stronie klienta, które nie mają dostępu do serwera zaplecza, na przykład aplikacji na telefon lub jednostronicowych aplikacji internetowych 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
Sprawdź nasz dokumentacja techniczna po więcej informacji.
Otwórz identyfikator
OpenID jest zbudowany na bazie OAuth i oferuje kilka dodatkowych funkcji.
OpenID Connect Connect 1.0 to prosta warstwa tożsamości oparta na protokole OAuth 2.0. Uzupełnia istniejące przepływy uwierzytelniania OAuth i dostarcza klientom informacji o użytkownikach w dobrze opisany sposób.
OpenID connect to ustandaryzowany sposób implementacji OAuth i udostępniania informacji o uwierzytelnionych użytkownikach. Teraz będzie można skonfigurować usługi do użycia ORCID „od razu po wyjęciu z pudełka” wraz z innymi zgodnymi ze standardami dostawcami połączeń OpenID. OpenID connect umożliwia również udostępnianie ID tokeny, które są podpisanymi obiektami, które mogą udowodnić, że użytkownik został uwierzytelniony ORCID w określonym czasie. Te tokeny mogą być używane przez elementy interfejsu użytkownika do utrzymywania sesji użytkownika.
ORCID obsługuje profil zgodności Basic OpenID Provider, który jest rozszerzeniem przepływu kodu autoryzacyjnego OAuth. ORCID obsługuje również niejawny przepływ tokenów dla zakresów „/authenticate” i „openid”.
Oznacza to, że ORCID:
- Osadzone podpisane id tokeny w odpowiedziach tokenów dla kodów autoryzacyjnych generowanych z zakresem „openid”.
- Obsługuje niejawny przepływ podczas korzystania z typów odpowiedzi „token” lub „token id_token” i zakresu „openid”.
- Obsługuje parametry „prompt”, „nonce” i „max_age” dla żądań autoryzacji, które obejmują zakres „openid”.
- Obsługuje wykrywanie Openid Connect i punkty końcowe informacji o użytkownikach
- Obsługuje pole „amr” dla integratorów korzystających z interfejsu API członka w przypadku żądań autoryzacji, które obejmują zakres „openid”. Można to wykorzystać do wykrycia, czy użytkownik został uwierzytelniony przy użyciu uwierzytelniania dwuskładnikowego.
Inicjowanie uwierzytelniania OpenID Connect działa tak samo, jak zwykłe uwierzytelnianie OAuth. Wymagane jest tylko, aby klient zażądał zakresu „openid”. Jeśli używasz zakresu /authenticate, zastąp go openid, ponieważ uwierzytelnianie i openid mają tę samą autoryzację, należy użyć tylko jednego lub drugiego. Jeśli używasz innych zakresów, dodaj openid do listy żądanych zakresów. Gdy uwzględniony jest zakres openid, Rejestr zwróci id_token w odpowiedzi tokenu i udzieli klientowi pozwolenia na dostęp do punktu końcowego informacji o użytkowniku dla tego użytkownika.
zauważ, że zakres „openid” nie zaczyna się od „/”, jak drugi ORCID zakresy API. Dzieje się tak, ponieważ zakres „openid” nie jest zdefiniowany przez ORCID, ale zamiast tego zdefiniowane przez specyfikację OpenID Connect.
Sprawdź nasz dokumentacja techniczna po więcej informacji.
Zbieraj uwierzytelnione identyfikatory za pomocą ORCIDWidżet Java Script OAuth firmy
ORCID zapewnia proste Widżet JavaScript które można wykorzystać do uzyskania uwierzytelnienia ORCID Identyfikatory używające OAuth z OpenID Connect.
Należy pamiętać, że widżet korzysta z niejawnej autoryzacji OAuth, więc nie zbiera żadnych uprawnień do zapisu. Oznacza to, że nie nadaje się do integracji członków, które chcą aktualizować rekordy. Zobacz nasz samouczek dot Dodawanie i aktualizacja danych dot ORCID Records.