MinIO
MinIO suporta gerenciamento de identidade externo usando um provedor compatível com OpenID Connect (OIDC). Este documento abrange a configuração do Casdoor como um provedor de identidade para suportar o MinIO.
Passo 1: Implementar Casdoor & MinIO
Primeiro, implemente o Casdoor.
Você pode consultar a documentação oficial do Casdoor para Instalação do Servidor.
Após uma implementação bem-sucedida, certifique-se de que:
- O servidor Casdoor está em execução em http://localhost:8000.
- Abra seu navegador favorito e visite http://localhost:7001 para ver a página de login do Casdoor.
- Teste a funcionalidade de login inserindo
admin
e123
.
Em seguida, você pode implementar rapidamente uma página de login baseada no Casdoor em seu próprio aplicativo seguindo estes passos.
Você pode consultar aqui para implementar seu servidor MinIO e aqui para o cliente MinIO chamado mc
.
Passo 2: Configurar Aplicação Casdoor
Crie uma nova aplicação Casdoor ou use uma existente.
Adicione sua URL de redirecionamento.
Adicione o provedor que deseja e forneça as configurações necessárias.
Na página de configurações da aplicação, você encontrará dois valores:
Client ID
eClient secret
(como mostrado na imagem acima). Usaremos esses valores na próxima etapa.Abra seu navegador favorito e visite: http://
CASDOOR_HOSTNAME
/.well-known/openid-configuration para ver a configuração OIDC do Casdoor.Este passo é necessário para o MinIO. Como o MinIO precisa usar um atributo de claim no JWT para sua política, você também deve configurá-lo no Casdoor. Atualmente, o Casdoor usa
tag
como uma solução alternativa para configurar a política do MinIO.Você pode encontrar todas as políticas suportadas aqui.
Passo 3: Configurar MinIO
Você pode iniciar um servidor MinIO usando os seguintes comandos:
export MINIO_ROOT_USER=minio
export MINIO_ROOT_PASSWORD=minio123
minio server /mnt/export
Você pode usar o parâmetro --console-address
para configurar o endereço e a porta.
Em seguida, adicione um alias de serviço usando o cliente MinIO mc
.
mc alias set myminio <Seu endereço de console> minio minio123
Agora, configure o OpenID Connect do MinIO. Para o Casdoor, o comando será:
mc admin config set myminio identity_openid config_url="http://CASDOOR_HOSTNAME/.well-known/openid-configuration" client_id=<client id> client_secret=<client secret> claim_name="tag"
Você pode consultar o documento oficial para parâmetros mais detalhados.
Uma vez configurado com sucesso, reinicie a instância do MinIO.
mc admin service restart myminio
Passo 4: Experimente a demonstração!
Agora, abra o console MinIO no navegador e clique em Login with SSO
.
Você será redirecionado para a página de login do usuário Casdoor. Após um login bem-sucedido, você será redirecionado para a página do MinIO e logado automaticamente. Você agora deve ver os buckets e objetos aos quais tem acesso.
Se você implementar a interface e o backend do Casdoor em portas diferentes, a página de login para a qual você é redirecionado estará na porta do backend e exibirá 404 not found
. Você pode modificar a porta para a da interface. Então você pode acessar a página de login do Casdoor com sucesso.