CAS é um sinal único de código aberto no software

CAS Solução SSO gratuita

Software de autenticação multilíngue com gerenciamento de logs

O Serviço de Autenticação Central é uma ferramenta SSO de código aberto que fornece recursos de autenticação e autorização usando protocolos OpenID, OAuth e SAML.

Visão geral

Os aplicativos da Web estão crescendo rapidamente e as empresas tendem a atingir várias áreas com intenções de fornecer serviços e ferramentas. Há um grande número de usuários que aumentam o dia a dia e a segurança e o gerenciamento de dados estão se tornando as principais preocupações para as empresas corporativas. No entanto, a comunidade de código aberto forneceu muitas soluções para golpear essas preocupações, e o sinal único no software é um deles. O CAS é um sinal único gratuito e de código aberto no sistema e usa o CAS Um protocolo baseado em ingressos que é criado exclusivamente para fornecer autenticação e autorização do usuário. A arquitetura deste protocolo é baseada na colaboração do cliente e do servidor. O CAS Server autentica usuários e concede acesso aos aplicativos. Considerando que o cliente desse sinal único sobre a tecnologia cuida da recuperação de informações dos usuários concedidos pelo servidor CAS. Esse software de código aberto não suporta apenas seu próprio protocolo CAS, mas também suporta protocolos OpenID, OAuth, OpenId Connect, Rest, WSFederação e SAML. O CAS possui um ecossistema completo para as integrações com terceiros, que mantém os altos níveis de confiança usando pares de chave pública/privada. O CAS é escrito principalmente em Java e fornece documentação abrangente sobre a implantação e o desenvolvimento. Há uma comunidade forte fazendo backup desse signo único no software.

Requisitos de sistema

  • JDK 11
  • Apache Tomcat
  • Docker (opcional)

Características

  • Protocolo OAuth V2
  • OpenID & OpenID Connect Protocol
  • Gerenciamento de senhas
  • Várias opções de implantação
  • Autenticação multifator
  • Multilíngue
  • Inscrição / saída
  • Muitos mecanismos de autenticação (por exemplo, JaaS, LDAP, RDBMS)
  • Protocolo de solicitante passivo WS-Federation
  • Fácil de configurar
  • Integrações com terceiros
  • Muitos mecanismos de autorização (por exemplo, ABAC, hora/data, descanso)
  • UI para gerenciar logs
  • UI para gerenciar o monitoramento e as estatísticas
  • Autenticação delegada no Facebook, Twitter e muito mais

Instalação

Execute o seguinte comando para clonar o repo:

    git clone git@github.com:apereo/cas.git cas-server

Após o clone bem -sucedido, execute o seguinte comando:

    cd cas-server

    git checkout master

Agora, construa a base de código através do seguinte comando:

    ./gradlew build install --parallel -x test -x javadoc -x check

Você pode usar -x para pular/ignorar totalmente uma fase na construção. (ou seja, -x test, -x check). Se você não precisar permitir que a Gradle Resolve/Atualize dependências e novas versões do módulo para você, poderá aproveitar o sinalizador -offline quando construir o que tende a tornar a construção muito mais rápida. Usar o daemon Gradle também é uma grande ajuda. Deve ser ativado por padrão. Ativar o cache de construção da Gradle via --Build-cache também pode melhorar significativamente os tempos de construção. Se você estiver usando o Windows, poderá encontrar -dskipnpmlint = true necessário para a compilação devido à diferença de final de linha entre o OS Para configurar o SSL, o arquivo theKeyStore deve incluir as chaves públicas/privadas SSL que são emitidas para o domínio do servidor CAS. Você precisará usar o comando keytool do JDK para criar o keystore e o certificado. Os seguintes comandos podem servir de exemplo:

    keytool -genkey -alias cas -keyalg RSA -validity 999 -keystore /etc/cas/thekeystore -ext san=dns:$REPLACE_WITH_FULL_MACHINE_NAME

No seu arquivo /etc/hosts (no Windows: c: \ windows \ system32 \ drivers \ etc \ hosts), você também pode precisar adicionar a seguinte entrada:

    127.0.0.1 mymachine.domain.edu

O certificado exportado para fora do seu keystore também precisa ser importado para o keystore global da plataforma Java:

    keytool -export -file /etc/cas/config/cas.crt -keystore /etc/cas/thekeystore -alias cas
    sudo keytool -import -file /etc/cas/config/cas.crt -alias cas -keystore $JAVA_HOME/jre/lib/security/cacerts

onde java_home é onde você está instalado no JDK (ou seja,/biblioteca/java/javavirtualmachines/jdk [versão] .jdk/contents/home). Execute os seguintes comandos para implantar:

    cd webapp/cas-server-webapp-tomcat
    ../../gradlew build bootRun --parallel --offline --configure-on-demand --build-cache --stacktrace

Por padrão, o CAS estará disponível em [httpsMyMachinedOniendedu8443Cas] (https://href.li/?https://mymachine.domain.edu:8443/cas)

executando no documento

Para o Docker, o Docker Image está localizado no [Docker Hub] (https://href.li/?https://hub.docker.com/r/apereo/cas/). Execute o seguinte comando para puxar a imagem do Docker:

    docker pull apereo/cas:v[A.B.C]

onde [a.b.c] representa a tag de imagem mapeada para a versão do servidor CAS.

 Português