Le didacticiel décrit les étapes pour authentifier un ORCID identifiant. Il peut être complété en utilisant soit le public or API membre. Il passe en revue les étapes pour récupérer un vérifié ORCID iD, qui peut ensuite être stocké dans la base de données de votre système. Il existe deux options : OAuth à trois étapes (pour les autorisations de mise à jour à long terme) et OAuth implicite (pour les autorisations à court terme en lecture seule).
- Obtenez des informations d'identification client
- Enregistrez vos URL de redirection
- Mettre en œuvre OAuth
Obtenez des informations d'identification client
Les informations d'identification du client sont le nom d'utilisateur et le mot de passe que votre application / site Web utilisera pour accéder au ORCID API. Tout le monde peut s'inscrire pour obtenir des informations d'identification de l'API publique en lecture seule, ORCID les membres peuvent s'inscrire à l'API membre.
Nous recommandons aux développeurs de tester l'API publique dans le serveur de test sandbox avant d'utiliser la version de production. Vous trouverez ci-dessous les étapes à suivre pour vous inscrire aux informations d'identification publiques de l'API dans les environnements Sandbox et Production.
- Connectez-vous à votre ORCID record:
Serveur de production: https://orcid.org/signin
Serveur de test Sandbox: https://sandbox.orcid.org/signin - Cliquez sur votre nom dans le coin supérieur droit
- Cliquez Outils de développement à partir de l'option de menu
Remarque : Pour accéder aux outils de développement, vous devez vérifier votre adresse e-mail. Si vous n'avez pas encore vérifié votre adresse e-mail, vous serez invité à le faire avant de pouvoir vous inscrire pour les informations d'identification de l'API publique - Lisez et acceptez le 'ORCID Conditions d'utilisation du client public
- Cliquez sur "S'inscrire pour ORCID bouton d'informations d'identification de l'API publique ».
Remplir le formulaire de détails de la demande
- Une fois que vous vous êtes enregistré pour vos informations d'identification d'API publique, vous serez redirigé vers les outils de développement (https://orcid.org/developer-tools or https://sandbox.orcid.org/developer-tools).
- Vous devez remplir le formulaire de détails de candidature présenté pour enregistrer une nouvelle candidature.
- Prénom: Le nom de votre application. Cela sera affiché aux utilisateurs lorsqu'ils accorderont à votre application l'autorisation d'obtenir leur ORCID iD, et il sera affiché dans leur Liste des organisations de confiance. Nous vous recommandons d'utiliser le nom de votre organisation ou service (par exemple, un nom de journal).
- URL de l'application : Le site Web que l'utilisateur peut visiter pour en savoir plus sur votre application. Cela sera également affiché dans leur Liste des organisations de confiance.
- Description de l'application: Informations sur l'application que vous développez et comment vous utiliserez les utilisateurs ORCID identifiant. Cela sera affiché aux utilisateurs sur l'écran OAuth.
L'ajout de Rediriger les URI
Une fois que l'utilisateur a autorisé votre application, il sera renvoyé à un URI que vous spécifiez. Vous devez fournir ces URI à l'avance, sinon vos utilisateurs d'intégration rencontreront une erreur.
- Entrez votre URI de redirection dans la case prévue
- Si vous devez saisir plus d'un URI de redirection, cliquez sur "Ajouter un autre URI de redirection".
Veuillez noter :
- Seulement URI HTTPS sont acceptés en production
- Domaines enregistrés DOIVENT correspondent exactement aux domaines utilisés, y compris les sous-domaines
- Enregistrez tous les URI de redirection dans la mesure du possible. C'est l'option la plus sûre et ce que nous recommandons. Pour plus d'informations sur les URI de redirection, veuillez consulter notre redirection URI FAQ
Enregistrement de votre candidature
Une fois que vous avez rempli le formulaire de candidature et ajouté vos URI de redirection, vous pouvez enregistrer votre candidature.
- Cliquez sur 'Enregistrer ma candidature et générer mon client ID et secrète'
Vous serez redirigé vers la page des outils de développement qui inclura désormais vos informations d'identification du client de l'API publique
Mise à jour de vos identifiants
Modifier les informations de votre candidature est très simple.
- Modifiez les informations pertinentes, puis cliquez sur "Enregistrer l'application"
Utilisez vos identifiants
Maintenant que vous avez vos identifiants, il est temps de commencer à utiliser le ORCID API publique!
Veuillez noter que nous pouvons transférer vos informations d'identification à l'API membre si vous devenez un ORCID membre dans le futur.
Vous pouvez demander les informations d'identification de l'API du membre du sandbox pour créer et tester votre application. Ces informations d'identification vous permettent d'appeler l'API du membre premium sandbox pour lire, écrire et mettre à jour ORCID records. L'accès à l'environnement de test du bac à sable est librement accessible à tous, même si vous n'êtes pas ORCID organisation membre.
Notes: Si vous utilisez un ORCID système de fournisseur de services certifié qui prend déjà en charge ORCID, vous n'avez pas besoin de vous inscrire pour obtenir les informations d'identification de l'API sandbox, sauf si vous souhaitez essayer le ORCID fonctionnalité d'intégration dans l'environnement Sandbox.
Le bac à sable vous permet de créer des comptes utilisateurs de test et de développer votre intégration sans avoir à vous soucier d'affecter les données en direct (production) ORCID Enregistrement. Le bac à sable se comporte de la même manière que la production ORCID Registre avec quelques exceptions.
Créer un compte de test
Afin de tester le ORCID API et appels d'API, tels que la lecture et l'ajout d'informations à un ORCID record, vous devrez également créer un test ORCID enregistrer dans le bac à sable. Cela peut être fait via l'interface utilisateur, un peu comme sur la production ORCID Enregistrement. Aller à https://sandbox.orcid.org/register et inscrivez-vous pour un compte.
Adresses e-mail des expéditeurs
Le serveur sandbox envoie uniquement des e-mails à Mailinator (@mailinator.com) afin de ne pas spammer involontairement les serveurs de messagerie. Vous ne recevrez pas d'e-mail de vérification ni de notification de réinitialisation du mot de passe, sauf si vous utilisez une adresse @mailinator.com, et une vérification est nécessaire pour apporter des modifications manuelles aux enregistrements de bac à sable. En savoir plus sur leurs boîtes de réception publiques gratuites ici. Si vous ne souhaitez pas utiliser un Mailinator adresse, veuillez noter votre nom d'utilisateur et votre mot de passe (car vous les utiliserez pour autoriser votre application lors des tests), et contactez-nous pour demander de l'aide pour la vérification.
Mailinator est un service de messagerie qui dispose d'un service public gratuit et d'un service privé payant. Pour tester, vous pouvez utiliser le service public entièrement gratuit. En savoir plus sur leurs niveaux ici.
Mailinator est un service tiers qui n'est ni géré ni maintenu par ORCID. Nous vous recommandons d'examiner le fonctionnement de ce service et ses limites avant d'utiliser ces adresses.
Enregistrez vos URL de redirection
Une fois connectés, les utilisateurs sont envoyés à une URL que vous spécifiez dans le cadre de l'enregistrement d'un client.
Que sont les URI de redirection et comment sont-ils utilisés ?
Les URI de redirection sont utilisés par notre service d'authentification OAuth comme mesure de sécurité. ORCID n'enverra les utilisateurs authentifiants qu'aux URI enregistrés par le client demandant l'authentification. Cela empêche les services de se faire passer pour les autres.
Gardez à l'esprit que uniquement les URI HTTPS sont acceptés en production. Vous pouvez tester en utilisant des URI HTTP mais vous devrez vous inscrire URI HTTPS lorsque vous demandez des informations d'identification d'API de membre de production.
Comment faire correspondre les URI de redirection ?
- Vous DEVEZ enregistrer les sous-domaines en tant qu'URI distincts. https://anythingelse.thirdparty.com ne fonctionnera pas.
- L'enregistrement complet de tous les URI de redirection, y compris le chemin, est encouragé, c'est ce que font la plupart des tiers et c'est l'option la plus sûre.
- Si l'application cliente est enregistrée avec un uri de redirection qui n'est que le nom d'hôte, alors n'importe quel uri de redirection sur cet hôte peut être utilisé. Ainsi, par exemple si l'URI de redirection suivante est enregistrée : https://thirdparty.com alors tous les redirect_uris suivants fonctionneront:
- https://thirdparty.com/oauth/callback1
- https://thirdparty.com/callback2
- https://thirdparty.com/anything-else-as-long-as-the-host-is-the-same
Cependant, https://anythingelse.thirdparty.com ne fonctionnera pas. Vous DOIVENT enregistrer les sous-domaines en tant qu'URI distincts.
Que se passe-t-il si mon URI de redirection est incorrect ?
Utilisateurs envoyés pour s'authentifier sur ORCID avec des URI de redirection incorrects, un message d'erreur similaire à celui-ci s'affichera :
Gestion des URI de redirection pour les membres
Si vous utilisez l'API membre et que vous souhaitez modifier vos URI de redirection, veuillez contacter notre équipe d'engagement
Gestion des URI de redirection pour les clients publics
Si vous utilisez l'API publique, vous devrez suivre les étapes ci-dessous pour mettre à jour votre liste d'URI de redirection associés à votre ORCID ID client de l'API publique. Vous pouvez le faire en suivant les étapes ci-dessous :
- Connectez-vous à votre ORCID record
- Cliquez sur votre nom dans le coin droit
- Sélectionnez les outils de développement
- Cliquez sur le crayon d'édition à côté du nom du client
- Modifiez un URI de redirection existant ou cliquez sur "Ajouter un autre URI de redirection" pour en modifier un existant
- Une fois que vous avez effectué vos modifications, vous devez cliquer sur l'icône de sauvegarde
Uniquement les URI HTTPS sont acceptés en production. Vous pouvez tester à l'aide d'URI http, mais vous devrez enregistrer des URI HTTPS lorsque vous demanderez des identifiants d'API de membre de production.
Mettre en œuvre OAuth
Ci-dessous, nous expliquons les trois `` saveurs '' d'OAuth prises en charge par ORCID. La plupart des langages de programmation disposent de bibliothèques OAuth et/ou OpenID qui facilitent l'intégration.
OAuth à 3 pattes
C'est la manière standard d'authentifier un utilisateur ORCID iD et peut être utilisé pour obtenir des autorisations de mise à jour de longue durée aux côtés de l'authentifié ORCID identifiant.
ORCID les intégrations utilisent «OAuth en 3 étapes» pour authentifier les utilisateurs et demander l'autorisation d'interagir avec leurs enregistrements. Toute intégration peut demander des autorisations de lecture à l'aide de l'API publique. ORCID les membres peuvent utiliser l'API Member pour demander des autorisations de mise à jour. Cela fonctionne comme ceci :
- Vous créez un lien spécial
- Lorsqu'il clique dessus, l'utilisateur est envoyé vers ORCID
- ORCID demande à l'utilisateur de se connecter
- ORCID demande à l'utilisateur d'accorder l'autorisation à votre application
- ORCID renvoie l'utilisateur à votre système avec un code d'autorisation
- Votre système échange ce code contre un jeton d'accès
L'URL d'autorisation personnalisée comprend les informations de votre client, ainsi que les « portées » qui spécifient les zones spécifiques de leur dossier auxquelles vous souhaitez accéder. Après s'être connecté, l'utilisateur autorise la connexion avec votre système et est renvoyé à votre page de destination avec un code d'autorisation. Ce code est ensuite utilisé pour obtenir leur ORCID iD ainsi qu'un jeton d'accès valide pour les étendues demandées.
Créez le lien d'autorisation et obtenez un code d'autorisation
Vous construisez votre lien d'autorisation en spécifiant le client de vos identifiants API ID et page de destination associée (URI de redirection). Vous choisissez les autorisations à demander en définissant le paramètre scope.
L'exemple ci-dessous demande l'autorisation de lire des données à accès limité sur le ORCID serveur de test sandbox. Dans le monde réel, vous affichez ce lien sur votre site Web ou l'incluez dans un e-mail lorsque vous demandez à l'utilisateur de s'authentifier et d'autoriser. Cependant, à des fins de test, vous pouvez simplement le coller dans votre navigateur Web. Remplacez les données entre crochets par les informations de votre client et assurez-vous de supprimer les crochets !
https://sandbox.orcid.org/oauth/authorize?client_id=[Your client ID]&response_type=code&scope=/read-limited&redirect_uri=[Your landing page]
Un utilisateur a cliqué sur le lien, connecté à ORCID et accordés des autorisations, ils sont redirigés vers votre site, comme ceci:
https://[Your landing page]?code=Q70Y3A
Échangez le code d'autorisation contre un ORCID iD et jeton d'accès
Vous devez immédiatement échanger le code d'autorisation pour le ORCID iD et jeton d'accès. Le code d'autorisation expire après utilisation. La demande ressemble à ceci et ne peut pas être effectué dans un navigateur Web, il doit être réalisé par votre serveur.
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 renverra alors le chercheur authentifié ORCID iD et un jeton d'accès au format 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"}
Les jetons d'accès ont une longue durée de vie par défaut et expirent 20 ans après leur émission. Le jeton peut être utilisé plusieurs fois avant son expiration.
Utilisez le jeton d'accès
Les jetons d'accès à 3 pattes sont liés à des ORCID enregistrer. Pour les utiliser, vous les incluez dans les requêtes API que vous effectuez pour lire ou mettre à jour cet enregistrement.
OAuth implicite
Il s'agit de la manière centrée sur le navigateur d'authentifier un utilisateur ORCID iD pour une utilisation par des applications basées sur un navigateur qui ne nécessitent pas d'autorisations de mise à jour.
OAuth implicite est une version plus légère d'OAuth conçue pour être utilisée par des systèmes qui ne disposent pas ou ne souhaitent pas utiliser de composants côté serveur. OAuth implicite peut être entièrement implémenté dans le navigateur en utilisant uniquement Javascript. Il est disponible pour les membres et les non-membres et fonctionne comme ceci :
- Vous créez un lien spécial
- Lorsqu'il clique dessus, l'utilisateur est envoyé vers ORCID
- ORCID demande à l'utilisateur de signer i
- ORCID demande à l'utilisateur d'accorder l'autorisation à votre application
- ORCID renvoie l'utilisateur à votre système avec son ORCID iD, un jeton d'accès et un id jeton.
- Votre système extrait et stocke les ORCID iD de la réponse.
Pour des raisons de sécurité, lors de l'utilisation d'OAuth implicite, ORCID ne renverra pas de jetons d'accès avec des autorisations de mise à jour.
Flux implicite
Le flux implicite est conçu pour que les clients n'aient pas besoin d'utiliser leur clé secrète pour lancer ORCID connectez-vous. La sécurité est appliquée en limitant les clients à leurs URL de redirection enregistrées. Ce niveau de sécurité inférieur signifie que ORCID prend uniquement en charge les étendues / authenticate et openid lors de l'utilisation du flux implicite. Les jetons sont également de courte durée, avec une durée de vie de 10 minutes. Ce flux est recommandé pour les applications côté client qui n'ont pas accès à un serveur principal, par exemple les applications téléphoniques ou les applications Web javascript d'une seule page.
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
Découvrez nos offres de documentation technique pour plus d'information.
OpenID
OpenID est construit sur OAuth et offre des fonctionnalités supplémentaires.
OpenID Connect 1.0 est une simple couche d'identité au-dessus du protocole OAuth 2.0. Il complète les flux d'authentification OAuth existants et fournit des informations sur les utilisateurs aux clients de manière bien décrite.
OpenID connect est un moyen standardisé de mettre en œuvre OAuth et de partager des informations sur les utilisateurs authentifiés. Il sera désormais possible de configurer les services à utiliser ORCID « prêt à l'emploi » aux côtés d'autres fournisseurs de connexion OpenID conformes aux normes. OpenID connect fournit également partageable ID jetons, qui sont des objets signés qui peuvent prouver qu'un utilisateur s'est authentifié à l'aide ORCID à un moment précis. Ces jetons peuvent être utilisés par les éléments de l'interface utilisateur pour maintenir les sessions utilisateur.
ORCID prend en charge le profil de conformité Basic OpenID Provider, qui est une extension du flux de code d'autorisation OAuth. ORCID prend également en charge le flux de jetons implicite pour les portées «/ authenticate» et «openid».
Cela signifie que ORCID:
- Embeds signé id jetons dans les réponses des jetons pour les codes d'autorisation générés avec la portée 'openid'
- Prend en charge le flux implicite lors de l'utilisation de "token" ou "token id_token" response_types et de la portée "openid".
- Prend en charge les paramètres «prompt», «nonce» et «max_age» pour les demandes d'autorisation qui incluent la portée «openid».
- Prend en charge la découverte Openid Connect et les points de terminaison userinfo
- Prend en charge le champ «amr» pour les intégrateurs utilisant l'API membre pour les demandes d'autorisation qui incluent la portée «openid». Cela peut être utilisé pour découvrir si un utilisateur s'est authentifié à l'aide de l'authentification à deux facteurs.
Le lancement d'une authentification OpenID Connect fonctionne de la même manière qu'une authentification OAuth classique. Tout ce qui est requis est que le client demande la portée 'openid'. Si vous utilisez la portée / authenticate, remplacez-la par openid, car authenticate et openid ont la même autorisation, seul l'un ou l'autre doit être utilisé. Si vous utilisez d'autres étendues, ajoutez openid à la liste des étendues demandées. Lorsque la portée openid est incluse, le registre renvoie un id_token dans la réponse du jeton et accorde au client l'autorisation d'accéder au point de terminaison des informations utilisateur pour cet utilisateur.
notez que la portée 'openid' ne commence pas par un '/' comme les autres ORCID Portées de l'API. Ceci est dû au fait que la portée 'openid' n'est pas définie par ORCID, mais défini par la spécification OpenID Connect.
Découvrez nos offres de documentation technique pour plus d'information.
Collectez des identifiants authentifiés à l'aide ORCIDWidget Java Script OAuth de
ORCID fournit un simple Widget Javascript qui peut être utilisé pour obtenir authentifié ORCID iD utilisant OAuth avec OpenID Connect.
Veuillez noter que le widget utilise OAuth implicite, il ne collecte donc aucune autorisation d'écriture. Cela signifie qu'il ne convient pas aux intégrations de membres qui souhaitent mettre à jour des enregistrements. Veuillez consulter notre tutoriel pour Ajout et mise à jour des données sur ORCID Records.