Visão Geral
Nesta seção, mostraremos como conectar seu aplicativo ao Casdoor.
Como um Provedor de Serviço (SP), o Casdoor suporta dois protocolos de autenticação:
OAuth 2.0 (OIDC)
SAML
Como um Provedor de Identidade (IdP), o Casdoor suporta quatro protocolos de autenticação:
OAuth 2.0
OIDC
SAML
CAS 1.0, 2.0, 3.0
OAuth 2.0 (OIDC)
O que é OAuth 2.0?
OAuth 2 é uma estrutura de autorização que permite que aplicações—como Facebook, GitHub e Casdoor—obtenham acesso limitado a contas de usuários em um serviço HTTP. Ele funciona delegando a autenticação do usuário ao serviço que hospeda uma conta de usuário e autorizando aplicações de terceiros a acessar essa conta de usuário. OAuth 2 fornece fluxos de autorização para aplicações web e desktop, bem como dispositivos móveis.
O processo de autorização do Casdoor é construído sobre o protocolo OAuth 2.0. Recomendamos o uso do protocolo OAuth 2.0 pelas seguintes razões:
- O protocolo é simples e fácil de implementar, e pode resolver muitos cenários.
- Ele possui um alto nível de maturidade e amplo suporte da comunidade.
Portanto, sua aplicação se comunicará com o Casdoor via OAuth 2.0 (OIDC). Há três maneiras de se conectar ao Casdoor:
Cliente OIDC padrão
Cliente OIDC padrão: Use uma implementação de cliente OIDC padrão, que é amplamente fornecida em qualquer linguagem de programação ou framework.
O que é OIDC?
OpenID Connect (OIDC) é um protocolo de autenticação aberto que funciona em cima da estrutura OAuth 2.0. Voltado para consumidores, o OIDC permite que indivíduos usem o single sign-on (SSO) para acessar sites de terceiros usando Provedores de OpenID (OPs), como um provedor de e-mail ou rede social, para autenticar suas identidades. Ele fornece ao aplicativo ou serviço informações sobre o usuário, o contexto de sua autenticação e acesso às suas informações de perfil.
O Casdoor suporta totalmente o protocolo OIDC. Se sua aplicação já está usando outro provedor de identidade OAuth 2.0 (OIDC) através de uma biblioteca de cliente OIDC padrão, e você quer migrar para o Casdoor, usar a descoberta OIDC tornará muito fácil a mudança para o Casdoor.
SDKs Casdoor
SDKs Casdoor: Para a maioria das linguagens de programação, o Casdoor fornece bibliotecas SDK fáceis de usar em cima do OIDC, com funcionalidades estendidas que só estão disponíveis no Casdoor.
Comparado ao protocolo OIDC padrão, o SDK do Casdoor fornece mais funcionalidades, como gerenciamento de usuários e upload de recursos, entre outros. Conectar ao Casdoor via SDK Casdoor requer mais tempo do que usar uma biblioteca de cliente OIDC padrão, mas oferece a melhor flexibilidade e a API mais poderosa.
Plugin Casdoor
Plugin Casdoor: Se sua aplicação é construída em cima de uma plataforma popular (como Spring Boot, WordPress, etc.) e o Casdoor (ou um terceiro) já forneceu um plugin ou middleware para ela, você deve usá-lo. Usar um plugin é muito mais fácil do que invocar manualmente o SDK Casdoor porque o primeiro é feito especialmente para a plataforma.
Plugins:
Middleware:
SAML
O que é SAML?
Security Assertion Markup Language (SAML) é um padrão aberto que permite que provedores de identidade (IdP) transmitam credenciais de autorização para provedores de serviço (SP). O que esse jargão significa é que você pode usar um conjunto de credenciais para fazer login em muitos sites diferentes. É muito mais simples gerenciar um login por usuário do que gerenciar logins separados para e-mail, software de gerenciamento de relacionamento com o cliente (CRM), Active Directory, etc.
As transações SAML usam a Extensible Markup Language (XML) para comunicações padronizadas entre o provedor de identidade e os provedores de serviço. SAML é a ligação entre a autenticação da identidade de um usuário e a autorização para usar um serviço.
O Casdoor pode ser usado como um SAML IdP. Atualmente, o Casdoor suporta as principais funcionalidades do SAML 2.0. Para mais detalhes, veja SAML.
Exemplo:
Casdoor como um SAML IdP no Keycloak
Sugestões:
- O protocolo é poderoso e cobre muitos cenários, tornando-o um dos protocolos de SSO mais abrangentes.
- O protocolo é grande, com muitos parâmetros opcionais, por isso é difícil cobrir 100% de todos os cenários de aplicação na implementação real.
- Se a aplicação é recém desenvolvida, não é recomendado o uso de SAML devido à sua alta complexidade técnica.
CAS
O que é CAS?
O Central Authentication Service (CAS) é um protocolo de single sign-on para a web. Seu propósito é permitir que um usuário acesse múltiplas aplicações fornecendo suas credenciais (como ID de usuário e senha) apenas uma vez. Ele também permite que aplicações web autentiquem usuários sem obter acesso às credenciais de segurança do usuário, como uma senha.
O Casdoor implementou recursos do CAS 1.0, 2.0 e 3.0. Para mais detalhes, veja CAS.
Sugestões:
- O protocolo em si é relativamente leve e fácil de implementar, mas só pode resolver um único cenário.
- A confiança mútua entre o Cliente CAS e o Servidor CAS é estabelecida através da invocação de interface sem qualquer mecanismo de criptografia ou assinatura para garantir segurança adicional.
- O protocolo CAS não tem vantagem sobre outros protocolos.
Tabela de Integrações
Algumas aplicações já têm exemplos que se conectam ao Casdoor. Você pode seguir a documentação para se conectar rapidamente ao Casdoor. Você pode ver todas as aplicações na Tabela de Integrações.