El tutorial describe los pasos para autenticar un ORCID identificación. Se puede completar utilizando el público or API miembro. Revisa los pasos para recuperar un verificadas ORCID iD, que luego puede almacenarse en la base de datos de su sistema. Hay dos opciones: OAuth de 3 patas (para permisos de actualización de larga duración) y OAuth implícito (para permisos de sólo lectura a corto plazo).
Obtenga algunas credenciales de cliente
Las credenciales del cliente son el nombre de usuario y la contraseña que usará su aplicación / sitio web para acceder al ORCID API. Cualquiera puede registrarse para obtener credenciales de API pública de solo lectura, ORCID los miembros pueden registrarse para la API de miembros.
Recomendamos que los desarrolladores prueben la API pública en el servidor de pruebas sandbox antes de utilizar la versión de producción. A continuación se detallan los pasos sobre cómo registrarse para obtener credenciales de API públicas tanto en el entorno Sandbox como en el de producción.
- Accede a tu ORCID grabar:
Servidor de producción: https://orcid.org/signin
Servidor de pruebas sandbox: https://sandbox.orcid.org/signin - Haga clic en su nombre en la esquina superior derecha
- Haga clic en Herramientas para desarrolladores». desde la opción de menú
Nota: Para acceder a las Herramientas para desarrolladores, debe verificar su dirección de correo electrónico. Si aún no ha verificado su dirección de correo electrónico, se le pedirá que lo haga antes de poder registrarse para las credenciales de la API pública. - Lea y acepte el 'ORCID Condiciones de servicio para clientes públicos
- Haga clic en "Registrarse para ORCID botón de credenciales de API públicas”.
Completar el formulario de detalles de la solicitud
- Una vez que se haya registrado para obtener sus Credenciales de API pública, se le redirigirá a las Herramientas para desarrolladores (https://orcid.org/developer-tools or https://sandbox.orcid.org/developer-tools).
- Debe completar el formulario de detalles de la solicitud presentado para registrar una nueva solicitud.
- Nombre: El nombre de su aplicación. Esto se mostrará a los usuarios cuando otorguen permiso a su aplicación para obtener su ORCID iD, y se mostrará en su Lista de organizaciones de confianza. Recomendamos utilizar el nombre de su organización o servicio (por ejemplo, el nombre de una revista).
- URL de la aplicación: El sitio web que el usuario puede visitar para obtener más información sobre su aplicación. Esto también se mostrará en su Lista de organizaciones de confianza.
- Descripción de la aplicación: Información sobre la aplicación que está desarrollando y cómo utilizará la aplicación del usuario. ORCID identificación. Esto se mostrará a los usuarios en la pantalla de OAuth.
Adición Redirigir URI
Una vez que el usuario haya autorizado su aplicación, será devuelto a un URI que especifique. Debe proporcionar estos URI por adelantado o sus usuarios de integración experimentarán un error.
- Ingrese su URI de redireccionamiento en el cuadro provisto
- Si necesita ingresar más de 1 URI de redireccionamiento, haga clic en 'Agregar otro URI de redireccionamiento'
Tengan en cuenta que:
- Solo URI de HTTPS son aceptados en producción
- Dominios registrados DEBE coincidir exactamente con los dominios utilizados, incluidos los subdominios
- Registre todos los URI de redirección completos cuando sea posible. Esta es la opción más segura y la que recomendamos. Para obtener más información sobre los URI de redireccionamiento, consulte nuestro Preguntas frecuentes sobre URI de redirección
Guardando tu aplicación
Una vez que haya completado el formulario de solicitud y agregado sus URI de redireccionamiento, puede guardar su solicitud.
- Haga clic en 'Guardar mi aplicación y generar mi ID de cliente y secreto'
Se le redirigirá a la página de herramientas para desarrolladores, que ahora incluirá sus credenciales de cliente de la API pública.
Actualización de sus credenciales
Hacer un cambio en la información de su solicitud es muy simple.
- Edite la información relevante y luego haga clic en 'Guardar solicitud'
Usa tus credenciales
Ahora que tiene sus credenciales, es hora de comenzar a usar el ORCID API pública!
Tenga en cuenta que podemos transferir sus credenciales a la API de miembro si se convierte en un ORCID miembro en el futuro.
solicite solicitar credenciales de API de miembro de sandbox para construir y probar su aplicación. Estas credenciales le permiten realizar llamadas a la API de miembro premium de Sandbox para leer, escribir y actualizar. ORCID registros. El acceso al entorno de prueba de la caja de arena está disponible de forma gratuita para cualquier persona, incluso si no es un ORCID organización miembro.
Note: Si está utilizando un ORCID sistema de proveedor de servicios certificado que ya admite ORCID, no necesita registrarse para obtener las credenciales de la API de sandbox a menos que desee probar la ORCID funcionalidad de integración dentro del entorno Sandbox.
La caja de arena le permite crear cuentas de usuario de prueba y desarrollar su integración sin tener que preocuparse por afectar los datos en vivo (producción) ORCID Registro. El sandbox se comporta de la misma manera que la producción. ORCID Registro con algunas excepciones.
Creando una cuenta de prueba
Para probar el ORCID API y llamadas API, como leer y agregar información a un ORCID registro, también necesitará crear una prueba ORCID grabar en la caja de arena. Esto se puede hacer a través de la interfaz de usuario, al igual que en la producción. ORCID Registro. Ir https://sandbox.orcid.org/register y registrarse para una cuenta.
Direcciones de correo electrónico del remitente
El servidor sandbox solo envía correos electrónicos a Mailinator (@mailinator.com) direcciones de correo electrónico para no enviar spam a los servidores de correo sin querer. No recibirá un correo electrónico de verificación o una notificación de restablecimiento de contraseña a menos que use una dirección @mailinator.com, y se requiere verificación para realizar modificaciones manuales en los registros de la zona de pruebas. Obtenga más información sobre sus bandejas de entrada públicas de uso gratuito Si no desea utilizar un Mailinator dirección, luego tome nota de su nombre de usuario y contraseña (ya que los usará para otorgar autorización a su aplicación durante la prueba) y contáctenos para solicitar ayuda con la verificación.
Mailinator es un servicio de correo electrónico que tiene un servicio público gratuito y un servicio privado de pago. Para la prueba puede utilizar el servicio público completamente gratuito. Más información sobre sus niveles aquí.
Mailinator es un servicio de terceros que no es administrado ni mantenido por ORCID. Le recomendamos que revise cómo funciona este servicio y sus limitaciones antes de utilizar estas direcciones.
Registre sus URL de redireccionamiento
Una vez que inician sesión, los usuarios son enviados a una URL que usted especifica como parte del registro de un cliente.
¿Qué son los URI de redireccionamiento y cómo se utilizan?
Nuestro servicio de autenticación OAuth utiliza los URI de redirección como medida de seguridad. ORCID solo enviará usuarios autenticados a URI registrados por el cliente que solicita la autenticación. Esto evita que los servicios se suplanten entre sí.
Tenga en cuenta que solo URI de HTTPS son aceptados en producción. Puede probar usando HTTP URI, pero deberá registrarse URI de HTTPS cuando solicita credenciales de API de miembro de producción.
¿Cómo hacemos coincidir los URI de redirección?
- DEBE registrar subdominios como URI separados. https://anythingelse.thirdparty.com no funcionará.
- Se recomienda registrar todos los URI de redirección completos, incluida la ruta., es lo que hacen la mayoría de los terceros y es la opción más segura.
- Si la aplicación cliente está registrada con un URI de redireccionamiento que es solo el nombre del host, se puede usar cualquier URI de redireccionamiento en ese host.. Entonces, por ejemplo, si se registra el siguiente uri de redirección: https://thirdparty.com entonces todos los siguientes redirect_uris funcionarán:
- https://thirdparty.com/oauth/callback1
- https://thirdparty.com/callback2
- https://thirdparty.com/anything-else-as-long-as-the-host-is-the-same
Sin embargo, https://anythingelse.thirdparty.com no trabajará. También DEBE registrar subdominios como URI separados.
¿Qué sucede si mi URI de redirección es incorrecta?
Usuarios enviados para autenticarse en ORCID con URI de redireccionamiento incorrectos verá un mensaje de error similar a este:
Gestión de URI de redireccionamiento para miembros
Si está utilizando la API de miembro y necesita algún cambio en sus URI de redireccionamiento, comuníquese con nuestro Equipo de Compromiso
Gestión de URI de redirección para clientes públicos
Si está utilizando la API pública, deberá seguir los pasos a continuación para actualizar su lista de URI de redirección que están asociados con su ORCID ID de cliente de API pública. Puede hacerlo siguiendo los pasos a continuación:
- Inicia sesión en tu ORCID grabar
- Haga clic en su nombre en la esquina derecha
- Seleccionar herramientas de desarrollador
- Haga clic en el lápiz de edición junto al nombre del cliente
- Edite un URI de redireccionamiento existente o haga clic en 'Agregar otro URI de redireccionamiento' edite uno existente
- Una vez que haya realizado los cambios, debe hacer clic en el icono Guardar
Solo URI de HTTPS son aceptados en producción. Puede probar con URI de http, pero deberá registrar URI de HTTPS cuando solicite las credenciales de API de miembro de producción.
Implementar OAuth
A continuación, explicamos los tres 'sabores' de OAuth compatibles con ORCID. La mayoría de los lenguajes de programación tienen bibliotecas OAuth y / o OpenID disponibles que facilitan la integración.
OAuth de 3 patas
Esta es la forma estándar de autenticar a un usuario. ORCID iD y se puede utilizar para obtener permisos de actualización de larga duración junto con el autenticado ORCID identificación.
ORCID las integraciones utilizan “OAuth de 3 patas” para autenticar a los usuarios y solicitar permiso para interactuar con sus registros. Cualquier integración puede solicitar permisos de lectura utilizando la API pública. ORCID los miembros pueden usar la API para miembros para solicitar permisos de actualización. Funciona así:
- Creas un enlace especial
- Cuando se hace clic, se envía al usuario a ORCID
- ORCID pide al usuario que inicie sesión
- ORCID pide al usuario que otorgue permiso a su aplicación
- ORCID envía al usuario de regreso a su sistema con un código de autorización
- Su sistema intercambia ese código por un token de acceso
La URL de autorización personalizada incluye la información de su cliente, así como los 'alcances' que especifican las áreas específicas de su registro a las que desea acceder. Después de iniciar sesión, el usuario autoriza la conexión con su sistema y regresa a su página de inicio junto con un código de autorización. Este código se utiliza luego para obtener su ORCID iD junto con un token de acceso válido para los ámbitos solicitados.
Crea tu enlace de autorización especificando el ID de cliente de tus credenciales de API y la página de destino asociada (URI de redireccionamiento). Elige qué permisos solicitar configurando el parámetro de alcance.
El siguiente ejemplo solicita permiso para leer datos de acceso limitado en el ORCID Servidor de prueba sandbox. En el mundo real, muestra este enlace en su sitio web o lo incluye en un correo electrónico cuando solicita al usuario que se autentique y autorice. Sin embargo, para fines de prueba, simplemente puede pegarlo en su navegador web. Reemplace los datos entre corchetes con la información de su cliente y asegúrese de eliminar los corchetes.
https://sandbox.orcid.org/oauth/authorize?client_id=[Your client ID]&response_type=code&scope=/read-limited&redirect_uri=[Your landing page]
Cuando el usuario haya hecho clic en el enlace, haya iniciado sesión en ORCID y se les conceden permisos, se les redirige a su sitio, así:
https://[Your landing page]?code=Q70Y3A
Debe intercambiar inmediatamente el código de autorización por el ORCID iD y token de acceso. El código de autorización caduca con el uso. La solicitud se ve así y no se puede hacer en un navegador web, debe ser realizado por su servidor.
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 luego devolverá el autenticado del investigador ORCID iD y un token de acceso en formato 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"}
Los tokens de acceso tienen una larga vida de forma predeterminada y caducan 20 años después de su emisión. El token se puede usar varias veces antes de que caduque.
Usa el token de acceso
Los tokens de acceso de 3 patas están vinculados a ORCID registro. Para usarlos, debe incluirlos en las solicitudes de API que realice para leer o actualizar ese registro.
OAuth implícito
Esta es la forma centrada en el navegador de autenticar a un usuario ORCID iD para su uso por aplicaciones basadas en navegador que no requieren permisos de actualización.
Implicit OAuth es una versión más ligera de OAuth diseñada para ser utilizada por sistemas que no tienen o no quieren utilizar componentes del lado del servidor. OAuth implícito se puede implementar completamente en el navegador usando solo javascript. Está disponible para socios y no socios y funciona así:
- Creas un enlace especial
- Cuando se hace clic, se envía al usuario a ORCID
- ORCID pide al usuario que firme i
- ORCID pide al usuario que otorgue permiso a su aplicación
- ORCID envía al usuario de vuelta a su sistema con su ORCID iD, un token de acceso y un token de identificación.
- Su sistema extrae y almacena los datos autenticados. ORCID iD de la respuesta.
Por motivos de seguridad, al utilizar OAuth implícito, ORCID no devolverá tokens de acceso con permisos de actualización.
Flujo implícito
El flujo implícito está diseñado para que los clientes no necesiten usar su clave secreta para iniciar ORCID iniciar sesión. La seguridad se aplica restringiendo a los clientes a sus redirect_urls registrados. Este menor nivel de seguridad significa que ORCID solo admite los ámbitos / authenticate y openid cuando se usa el flujo implícito. Los tokens también son de corta duración, con una vida útil de 10 minutos. Este flujo se recomienda para aplicaciones del lado del cliente que no tienen acceso a un servidor back-end, por ejemplo, aplicaciones telefónicas o aplicaciones web javascript de una sola página.
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
Vea las reseñas de nuestros de documentación técnica para obtener más información.
Open ID
OpenID está construido sobre OAuth y ofrece algunas características adicionales.
OpenID Connect 1.0 es una capa de identidad simple sobre el protocolo OAuth 2.0. Complementa los flujos de autenticación de OAuth existentes y proporciona información sobre los usuarios a los clientes de una manera bien descrita.
OpenID connect es una forma estandarizada de implementar OAuth y compartir información sobre usuarios autenticados. Ahora será posible configurar los servicios para usar ORCID "listo para usar" junto con otros proveedores de conexión OpenID que cumplen con los estándares. OpenID connect también proporciona tokens de identificación compartibles, que son objetos firmados que pueden demostrar que un usuario se autenticó mediante ORCID en un momento específico. Los elementos de la interfaz de usuario pueden utilizar estos tokens para mantener las sesiones de usuario.
ORCID admite el perfil de conformidad del proveedor de OpenID básico, que es una extensión del flujo del código de autorización de OAuth. ORCID también admite el flujo de token implícito para los ámbitos "/ authenticate" y "openid".
Esto significa que ORCID:
- Incorpora tokens de identificación firmados dentro de las respuestas de token para los códigos de autorización generados con el alcance 'openid'
- Admite el flujo implícito cuando se utilizan 'token' o 'token id_token' response_types y el alcance 'openid'.
- Admite los parámetros 'prompt', 'nonce' y 'max_age' para solicitudes de autorización que incluyen el alcance 'openid'.
- Admite puntos finales de información de usuario y descubrimiento de Openid Connect
- Admite el campo 'amr' para integradores que utilizan la API de miembro para solicitudes de autorización que incluyen el alcance 'openid'. Esto se puede utilizar para descubrir si un usuario se autenticó mediante la autenticación de dos factores.
Iniciar una autenticación OpenID Connect funciona de la misma manera que una autenticación OAuth normal. Todo lo que se requiere es que el cliente solicite el alcance 'openid'. Si está utilizando el alcance / authenticate, reemplácelo con openid, ya que authenticate y openid tienen la misma autorización, solo se debe usar uno u otro. Si está utilizando otros ámbitos, agregue openid a la lista de ámbitos solicitados. Cuando se incluye el alcance de openid, el Registro devolverá un id_token dentro de la respuesta del token y otorgará permiso al cliente para acceder al punto final de información del usuario para ese usuario.
Tenga en cuenta que el alcance 'openid' no comienza con un '/' como el otro ORCID Ámbitos de API. Esto se debe a que el alcance 'openid' no está definido por ORCID, pero en su lugar está definido por la especificación OpenID Connect.
Vea las reseñas de nuestros de documentación técnica para obtener más información.
Recopile identificaciones autenticadas usando ORCIDWidget de secuencia de comandos de Java de OAuth
ORCID proporciona un simple Widget de Java Script que se puede utilizar para obtener autenticado ORCID iD que utilizan OAuth con OpenID Connect.
Tenga en cuenta que el widget utiliza OAuth implícito, por lo que no recopila ningún permiso de escritura. Esto significa que no es adecuado para integraciones de miembros que deseen actualizar registros. Consulte nuestro tutorial para Agregar y actualizar datos en ORCID Records.