OIDC (Open ID Connect)
Open ID Connect é um protocolo para autenticação e autorização.
A troca de mensagens pelo protocolo OIDC pode ocorrer entre 2 entidades ou 3 entidades.
Usuário (Cliente OIDC)
Servidor de Autenticação e Autorização (Identity Provider IdP OIDC)
Servidor de Requisição (Relying Party OIDC)
Bibliotecas que implementam OIDC Identity Provider
NodeJS
node-oidc-provider
É uma biblioteca que ajuda a implementar um Identity Provider dentro da sua aplicação e é flexível a nível de permitir customizar os bancos de dados desejados para armazenamento das credenciais.
- Certificada pelo OpenID
Github: https://github.com/panva/node-oidc-provider
Java
oxAuth
É uma biblioteca sólida, faz parte do Gluu Server.
- Certificada pelo OpenID
É fortemente amarrada aos propósitos do Gluu Server e de outra biblioteca chamada oxTrust.
Permite apenas integração com banco de dados LDAP e CouchBase.
Github: https://github.com/GluuFederation/oxAuth
MITREid Connect
Funciona apenas com Spring e Spring Security
Pergunta - Permite guardar credenciais/senhas/usuarios/roles em bancos de dados à escolha do desenvolvedor?
Github: https://github.com/mitreid-connect/OpenID-Connect-Java-Spring-Server
Documentação:
https://github.com/mitreid-connect/OpenID-Connect-Java-Spring-Server/wiki
Documentação básica sobre o IDP:
https://github.com/mitreid-connect/OpenID-Connect-Java-Spring-Server/wiki/Server-configuration
- simple-web-app A simple application that shows how to integrate the client filters in a Spring Security application.
- example-openid-connect-overlay A simple server that shows how to build an overlay of the server for custom deployments.
- account-chooser A JavaScript and HTML5 application that makes it easy for users to select between multiple issuers.
- json-web-key-generator A Java application that generates public and private keys in the JSON Web Key format, used by both the server and client components. It is important for real deployments to have their own key.
Nimbus OAuth 2.0 & 2.1 SDK with OpenID Connect
É uma biblioteca que permite criar um Identity Provider OIDC dentro de sua aplicação Java.
Desenvolvida pelos criadores do connect2id
- Certificada pelo OpenID
Bitbucket: https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/src/master/
Referências
Softwares OIDC certificados
https://openid.net/developers/certified/
Softwares OIDC não certificados
https://openid.net/developers/uncertified/