Pular para o conteúdo principal

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. It works by delegating user authentication to the service that hosts the user account and authorizing third-party applications to access that account. OAuth 2 provides authorization flows for web applications, desktop applications, and mobile devices.

O processo de autorização do Casdoor é construído sobre o protocolo OAuth 2.0. We recommend using OAuth 2.0 for the following reasons:

  1. The protocol is simple, easy to implement, and can address many authentication scenarios.
  2. 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

Standard OIDC client: Use a standard OIDC client implementation, which is widely available in any programming language or framework.

O que é OIDC?

OpenID Connect (OIDC) é um protocolo de autenticação aberto que funciona em cima da estrutura OAuth 2.0. Targeted toward consumers, OIDC allows individuals to use single sign-on (SSO) to access relying party sites using OpenID Providers (OPs), such as email providers or social networks, to authenticate their identities. It provides applications or services with information about the user, the context of their authentication, and access to their profile information.

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

Casdoor SDKs: For most programming languages, Casdoor provides easy-to-use SDK libraries built on top of OIDC, with extended functionality that is only available in Casdoor.

Compared to the standard OIDC protocol, Casdoor's SDK provides additional functionality, such as user management and resource uploading. 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

Casdoor plugin: If your application is built on top of a popular platform (such as Spring Boot, WordPress, etc.) and Casdoor (or a third party) has already provided a plugin or middleware for it, you should use it. Using a plugin is much easier than manually invoking the Casdoor SDK because plugins are specifically designed for their target platform.

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). This means you can use one set of credentials to log into many different websites. It's much simpler to manage one login per user than to manage separate logins for email, customer relationship management (CRM) software, 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:

  1. O protocolo é poderoso e cobre muitos cenários, tornando-o um dos protocolos de SSO mais abrangentes.
  2. 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.
  3. 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:

  1. O protocolo em si é relativamente leve e fácil de implementar, mas só pode resolver um único cenário.
  2. 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.
  3. 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.