Перейти к основному содержанию

Обзор

Как платформа аутентификации, Casdoor может легко управлять пользователями, хранящимися в базах данных.

Синхронизатор

Casdoor хранит пользователей в таблице user. Таким образом, когда вы планируете использовать Casdoor в качестве платформы аутентификации, не нужно беспокоиться о миграции данных пользователей вашего приложения в Casdoor. Casdoor предоставляет синхронизатор для быстрой помощи в синхронизации данных пользователей с 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.

Хеш синхронизации

Casdoor использует хеш-функцию для определения способа обновления пользователя. Это хеш-значение рассчитывается для каждого пользователя в таблице, используя информацию, такую как пароль или номер мобильного телефона.

Если рассчитанное хеш-значение пользователя с определенным Id изменяется по сравнению с исходным значением, Casdoor подтверждает, что таблица пользователей была обновлена. Впоследствии база данных обновляет старую информацию, тем самым достигая двусторонней синхронизации между таблицей пользователей Casdoor и исходной таблицей пользователей.