Visão Geral
Como uma plataforma de autenticação, o Casdoor pode gerenciar facilmente usuários armazenados em bancos de dados.
Sincronizador
O Casdoor armazena usuários na tabela user. Então, quando você planeja usar o Casdoor como uma plataforma de autenticação, não há necessidade de se preocupar com a migração dos dados de usuários da sua aplicação para o Casdoor. O Casdoor fornece um sincronizador para ajudar rapidamente a sincronizar os dados de usuários para o Casdoor.
Casdoor supports multiple syncer types to import users from different sources:
- Database: Synchronize users from any database supported by Xorm (MySQL, PostgreSQL, SQL Server, Oracle, SQLite). See database syncer.
- Azure AD: Synchronize users from Azure Active Directory using Microsoft Graph API. See Azure AD syncer.
- Active Directory: Synchronize users from Microsoft Active Directory via LDAP. See Active Directory syncer.
- Google Workspace: Synchronize users from Google Workspace using Admin SDK API. See Google Workspace syncer.
- Keycloak: Import users directly from Keycloak databases. See Keycloak syncer.
- WeCom: Fetch users from WeCom organizations via API. See WeCom syncer.
Each syncer type implements a common interface, making it straightforward to add new syncer types or extend existing ones without affecting other parts of the system.
Supported User Attributes
Syncers support a comprehensive range of user attributes including basic profile information, authentication credentials (passwords, WebAuthn, MFA settings), security configurations (IP whitelist, verification status), and user activity tracking (login history, password changes). Complex data structures like WebAuthn credentials and Face ID data are automatically handled through JSON serialization.
Hash de Sincronização
O Casdoor usa uma função de hash para determinar como atualizar um usuário. Esse valor de hash é calculado para cada usuário na tabela, usando informações como a senha ou número de telefone celular.
Se o valor de hash calculado de um usuário com um Id específico muda em comparação com o valor original, o Casdoor confirma que a tabela de usuários foi atualizada. Posteriormente, o banco de dados atualiza as informações antigas, alcançando assim uma sincronização bilateral entre a tabela de usuários do Casdoor e a tabela de usuários original.