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. O OpenID Connect também fornece tokens de ID compartilháveis, 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 tokens de ID assinados em 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 entender melhor.