O tutorial descreve as etapas para autenticar um ORCID eu ia. Ele pode ser concluído usando o público or API membro. Ele revisa as etapas para recuperar um verificado ORCID iD, que pode então ser armazenado no banco de dados do seu sistema. Existem duas opções: OAuth de 3 etapas (para permissões de atualização de longa duração) e OAuth implícito (para permissões de curto prazo somente leitura).
Obtenha algumas credenciais de cliente
As credenciais do cliente são o nome de usuário e a senha que seu aplicativo / site usará para acessar o ORCID API. Qualquer pessoa pode registrar-se para obter credenciais de API pública somente leitura, ORCID membros podem se registrar para a API membro.
Recomendamos que os desenvolvedores testem a API pública no servidor de teste sandbox antes de usar a versão de produção. Abaixo estão as etapas sobre como registrar-se para credenciais de API públicas nos ambientes Sandbox e Produção.
- Faça login na sua ORCID registro:
Servidor de produção: https://orcid.org/signin
Servidor de teste de sandbox: https://sandbox.orcid.org/signin - Clique no seu nome no canto superior direito
- Clique Ferramentas de desenvolvimento da opção do menu
Observação: Para acessar as Ferramentas do desenvolvedor, você deve verificar seu endereço de e-mail. Se você ainda não verificou seu endereço de e-mail, será solicitado que o faça antes de se registrar para obter credenciais de API públicas - Leia e concorde com os 'ORCID Termos de Serviço do Cliente Público
- Clique no botão “Registre-se para ORCID credenciais públicas da API”.
Preenchendo o formulário de detalhes do aplicativo
- Depois de se registrar para obter suas credenciais de API públicas, você será direcionado de volta às Ferramentas do desenvolvedor (https://orcid.org/developer-tools or https://sandbox.orcid.org/developer-tools).
- Você precisa preencher o formulário de detalhes do aplicativo apresentado para registrar um novo aplicativo.
- Nome: O nome do seu aplicativo. Isso será exibido para os usuários quando eles concederem permissão ao seu aplicativo para obter seus ORCID iD, e será exibido em seu Lista de organizações confiáveis. Recomendamos usar o nome de sua organização ou serviço (por exemplo, o nome de um jornal).
- URL do aplicativo: O site que o usuário pode visitar para saber mais sobre seu aplicativo. Isso também será exibido em seus Lista de organizações confiáveis.
- Descrição da Aplicação: Informações sobre o aplicativo que você está desenvolvendo e como usará as do usuário ORCID eu ia. Isso será exibido para os usuários na tela do OAuth.
Adicionando URIs de redirecionamento
Depois que o usuário autorizar seu aplicativo, ele será retornado a um URI que você especificar. Você deve fornecer esses URIs com antecedência ou seus usuários de integração enfrentarão um erro.
- Insira seu URI de redirecionamento na caixa fornecida
- Se você precisar inserir mais de 1 URI de redirecionamento, clique em 'Adicionar outro URI de redirecionamento'
Observe:
- Preço: URIs HTTPS são aceitos na produção
- Domínios registrados DEVO correspondem exatamente aos domínios usados, incluindo subdomínios
- Registre todos os URIs de redirecionamento totalmente, sempre que possível. Esta é a opção mais segura e a que recomendamos. Para obter mais informações sobre URIs de redirecionamento, consulte nosso Perguntas frequentes sobre URI de redirecionamento
Salvando seu aplicativo
Depois de preencher o formulário de inscrição e adicionar seus URIs de redirecionamento, você pode salvar sua inscrição.
- Clique em 'Salvar meu aplicativo e gerar meu cliente ID e segredo'
Você será direcionado de volta para a página de ferramentas do desenvolvedor, que agora incluirá suas credenciais de cliente da API pública
Atualizando suas credenciais
Fazer uma alteração nas informações do seu aplicativo é muito simples.
- Edite as informações relevantes e clique em 'Salvar aplicativo'
Use suas credenciais
Agora que você tem suas credenciais, é hora de começar a usar o ORCID API pública!
Observe que podemos transferir suas credenciais para o membro API se você se tornar um ORCID membro no futuro.
Você pode solicitar credenciais de API de membro da sandbox para construir e testar seu aplicativo. Essas credenciais permitem que você faça chamadas para a API de membro premium do sandbox para ler, gravar e atualizar ORCID registros. O acesso ao ambiente de teste sandbox está disponível gratuitamente para qualquer pessoa, mesmo se você não for um ORCID organização membro.
Note: Se você estiver usando um ORCID sistema de provedor de serviços certificado que já suporta ORCID, você não precisa se registrar para obter credenciais da API sandbox, a menos que queira experimentar o ORCID funcionalidade de integração dentro do ambiente Sandbox.
O sandbox permite que você crie contas de usuário de teste e desenvolva sua integração sem ter que se preocupar em afetar os dados ao vivo (produção) ORCID Registro. A sandbox se comporta da mesma maneira que a produção ORCID Registro com algumas exceções.
Criação de uma conta de teste
A fim de testar o ORCID API e chamadas de API, como leitura e adição de informações a um ORCID registro, você também precisará criar um teste ORCID gravar na caixa de areia. Isso pode ser feito por meio da interface do usuário, bem como na produção ORCID Registro. Vamos para https://sandbox.orcid.org/register e registre-se para uma conta.
Endereços de e-mail do Mailinator
O servidor sandbox só envia e-mails para Mailinator (@mailinator.com) endereços de e-mail para não enviar spam aos servidores de e-mail involuntariamente. Você não receberá um e-mail de verificação ou notificação de redefinição de senha, a menos que use um endereço @mailinator.com, e a verificação é necessária para fazer edições manuais nos registros do sandbox. Saiba mais sobre suas caixas de entrada públicas gratuitas Aqui. Se você não deseja usar um Mailinator endereço, anote seu nome de usuário e senha (pois você os usará para conceder autorização ao seu aplicativo durante o teste) e entre em contato conosco para solicitar assistência com a verificação.
Mailinator é um serviço de e-mail que possui um serviço público gratuito e um serviço privado pago. Para testar, você pode usar o serviço público totalmente gratuito. Saiba mais sobre seus níveis aqui.
Mailinator é um serviço de terceiros que não é gerenciado ou mantido por ORCID. Recomendamos que você analise como esse serviço funciona e suas limitações antes de usar esses endereços.
Registre seus URLs de redirecionamento
Depois de conectado, os usuários são enviados a um URL que você especifica como parte do registro de um cliente.
O que são URIs de redirecionamento e como eles são usados?
Os URIs de redirecionamento são usados pelo nosso serviço de autenticação OAuth como medida de segurança. ORCID enviará apenas usuários autenticados para URIs registrados pelo cliente solicitando autenticação. Isso impede que os serviços representem uns aos outros.
Por favor, note que apenas URIs HTTPS são aceitos na produção. Você pode testar usando HTTP URIs, mas precisará se registrar URIs HTTPS quando você solicita credenciais de API de membro de produção.
Como combinamos URIs de redirecionamento?
- Você DEVE registrar subdomínios como URIs separados. https://anythingelse.thirdparty.com não funcionará.
- O registro completo de todos os URIs de redirecionamento, incluindo o caminho, é incentivado, é o que a maioria dos terceiros faz e é a opção mais segura.
- Se o aplicativo cliente estiver registrado com um uri de redirecionamento que seja apenas o nome do host, qualquer uri de redirecionamento nesse host poderá ser usado. Assim, por exemplo, se o seguinte uri de redirecionamento estiver registrado: https://thirdparty.com então todos os seguintes redirect_uris funcionarão:
- https://thirdparty.com/oauth/callback1
- https://thirdparty.com/callback2
- https://thirdparty.com/anything-else-as-long-as-the-host-is-the-same
No entanto, https://anythingelse.thirdparty.com não funciona. Vocês DEVO registrar subdomínios como URIs separados.
O que acontece se meu URI de redirecionamento estiver incorreto?
Usuários enviados para autenticação em ORCID com URIs de redirecionamento incorretos verá uma mensagem de erro semelhante a esta:
Gerenciando URIs de redirecionamento para membros
Se você estiver usando a API de membro e precisar de alterações em seus URIs de redirecionamento, entre em contato com nossa equipe de engajamento
Gerenciando URIs de redirecionamento para clientes públicos
Se você estiver usando a API pública, precisará seguir as etapas abaixo para atualizar sua lista de URIs de redirecionamento associados ao seu ORCID ID do cliente de API pública. Você pode fazer isso seguindo os passos abaixo:
- Entre no seu ORCID registro
- Clique no seu nome no canto direito
- Selecione as ferramentas do desenvolvedor
- Clique no lápis de edição ao lado do nome do cliente
- Edite um URI de redirecionamento existente ou clique em 'Adicionar outro URI de redirecionamento' edite um existente
- Depois de fazer suas alterações, você precisa clicar no ícone salvar
Apenas URIs HTTPS são aceitos na produção. Você pode testar usando URIs http, mas precisará registrar URIs HTTPS ao solicitar credenciais de API de membro de produção.
Implementar OAuth
Abaixo, explicamos os três 'tipos' de OAuth suportados por ORCID. A maioria das linguagens de programação possui bibliotecas OAuth e/ou OpenID disponíveis que facilitam a integração.
OAuth de três pernas
Esta é a maneira padrão de autenticar um usuário ORCID iD e pode ser usado para obter permissões de atualização de longa duração junto com o autenticado ORCID eu ia.
ORCID as integrações usam “OAuth de 3 pernas” para autenticar usuários e solicitar permissão para interagir com seus registros. Qualquer integração pode solicitar permissões de leitura usando a API pública. ORCID os membros podem usar a API de membros para solicitar permissões de atualização. Funciona assim:
- Você cria um link especial
- Quando clicado, o usuário é enviado para ORCID
- ORCID pede ao usuário para fazer login
- ORCID pede ao usuário para conceder permissão ao seu aplicativo
- ORCID envia o usuário de volta ao seu sistema com um código de autorização
- Seu sistema troca esse código por um token de acesso
O URL de autorização personalizado inclui as informações do seu cliente, bem como os 'escopos' que especificam as áreas específicas do registro que você deseja acessar. Após o login, o usuário autoriza a conexão com seu sistema e retorna à sua landing page junto com um código de autorização. Este código é então usado para obter seus ORCID iD junto com um token de acesso válido para os escopos solicitados.
Crie o link de autorização e obtenha um código de autorização
Você cria seu link de autorização especificando o cliente de suas credenciais de API ID e página de destino associada (URI de redirecionamento). Você escolhe quais permissões solicitar definindo o parâmetro de escopo.
O exemplo a seguir solicita permissão para ler dados de acesso limitado no ORCID servidor de teste sandbox. No mundo real, você exibe esse link em seu site ou o inclui em um e-mail ao solicitar ao usuário a autenticação e autorização. No entanto, para fins de teste, você pode simplesmente colá-lo em seu navegador. Substitua os dados entre colchetes pelas informações do seu cliente e certifique-se de remover os colchetes!
https://sandbox.orcid.org/oauth/authorize?client_id=[Your client ID]&response_type=code&scope=/read-limited&redirect_uri=[Your landing page]
Aquele em que o usuário clicou no link e fez login em ORCID e recebem permissões, eles são redirecionados de volta ao seu site, como este:
https://[Your landing page]?code=Q70Y3A
Troque o código de autorização por um ORCID iD e token de acesso
Você deve trocar imediatamente o código de autorização para o ORCID iD e token de acesso. O código de autorização expira após o uso. A solicitação fica assim e não pode ser feito em um navegador da web, deve ser feito pelo seu 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 irá então devolver o autenticado do pesquisador ORCID iD e um token de acesso no 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"}
Os tokens de acesso têm longa duração por padrão e expiram 20 anos após a emissão. O token pode ser usado várias vezes antes de expirar.
Use o token de acesso
Tokens de acesso de três etapas estão vinculados a ORCID registro. Para usá-los, você os inclui nas solicitações de API feitas para ler ou atualizar esse registro.
OAuth implícito
Esta é a maneira centrada no navegador de autenticar um usuário ORCID iD para uso por aplicativos baseados em navegador que não requerem permissões de atualização.
OAuth implícito é uma versão mais leve do OAuth projetada para ser usada por sistemas que não possuem ou não desejam usar componentes do lado do servidor. OAuth implícito pode ser implementado inteiramente no navegador usando apenas javascript. Está disponível para associados e não associados e funciona assim:
- Você cria um link especial
- Quando clicado, o usuário é enviado para ORCID
- ORCID pede ao usuário para assinar i
- ORCID pede ao usuário para conceder permissão ao seu aplicativo
- ORCID envia o usuário de volta ao seu sistema com seu ORCID iD, um token de acesso e um id símbolo.
- Seu sistema extrai e armazena os autenticados ORCID iD da resposta.
Por razões de segurança, ao usar OAuth implícito, ORCID não retornará tokens de acesso com permissões de atualização.
Fluxo implícito
O fluxo implícito é projetado para que os clientes não precisem usar sua chave secreta para iniciar ORCID entrar. A segurança é reforçada ao restringir os clientes aos seus redirect_urls registrados. Este nível mais baixo de segurança significa que ORCID suporta apenas os escopos / authenticate e openid ao usar o fluxo implícito. Os tokens também têm vida curta, com uma vida útil de 10 minutos. Este fluxo é recomendado para aplicativos do lado do cliente que não têm acesso a um servidor de back-end, por exemplo, aplicativos de telefone ou aplicativos da web javascript de página única.
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
veja nossa documentação técnica para obter mais informações.
OpenID
O OpenID é baseado no OAuth e oferece alguns recursos adicionais.
OpenID Connect 1.0 é uma camada de identidade simples sobre o protocolo OAuth 2.0. Ele complementa os fluxos de autenticação OAuth existentes e fornece informações sobre os usuários aos clientes de uma maneira bem descrita.
OpenID connect é uma forma padronizada de implementar OAuth e compartilhar informações sobre usuários autenticados. Agora será possível configurar os serviços a serem usados ORCID “Pronto para uso” junto com outros provedores de conexão OpenID compatíveis com os padrões. OpenID Connect também fornece compartilháveis ID tokens, que são objetos assinados que podem provar que um usuário foi autenticado usando ORCID em um momento específico. Esses tokens podem ser usados por elementos da interface do usuário para manter as sessões do usuário.
ORCID suporta o perfil de conformidade do provedor OpenID básico, que é uma extensão do fluxo de código de autorização OAuth. ORCID também suporta o fluxo de token implícito para os escopos “/ authenticate” e “openid”.
Isto significa que ORCID:
- Incorporação assinada id tokens dentro de respostas de token para códigos de autorização gerados com o escopo 'openid'
- Suporta o fluxo implícito ao usar 'token' ou 'token id_token' response_types e o escopo 'openid'.
- Suporta os parâmetros 'prompt', 'nonce' e 'max_age' para solicitações de autorização que incluem o escopo 'openid'.
- Suporta descoberta de Openid Connect e pontos de extremidade userinfo
- Suporta o campo 'amr' para integradores que usam a API membro para solicitações de autorização que incluem o escopo 'openid'. Isso pode ser usado para descobrir se um usuário foi autenticado usando a autenticação de dois fatores.
Iniciar uma autenticação OpenID Connect funciona da mesma maneira que uma autenticação OAuth regular. Tudo o que é necessário é que o cliente solicite o escopo 'openid'. Se você estiver usando o escopo / authenticate, substitua-o por openid, visto que authenticate e openid têm a mesma autorização, apenas um ou o outro deve ser usado. Se você estiver usando qualquer outro escopo, adicione openid à lista de escopos solicitados. Quando o escopo openid é incluído, o Registro retorna um id_token dentro da resposta do token e concede ao cliente permissão para acessar o endpoint de informações do usuário para aquele usuário.
observe que o escopo 'openid' não começa com um '/' como o outro ORCID Escopos de API. Isso ocorre porque o escopo 'openid' não é definido por ORCID, mas em vez disso definido pela especificação OpenID Connect.
veja nossa documentação técnica para obter mais informações.
Colete IDs autenticados usando ORCIDWidget de OAuth Java Script de
ORCID fornece um simples Widget Java Script que pode ser usado para obter autenticado ORCID IDs usando OAuth com OpenID Connect.
Observe que o widget usa OAuth implícito, portanto, não coleta nenhuma permissão de gravação. Isso significa que não é adequado para integrações de membros que desejam atualizar registros. Por favor, veja nosso tutorial para Adicionar e atualizar dados em ORCID Registros.