Auth moduł zapewnia uwierzytelnianie i autoryzację dla Twojej aplikacji, w tym zarządzanie użytkownikami, zarządzanie grupami, rejestrację użytkowników, logowanie i powiązane funkcje. Jest on instalowany automatycznie podczas tworzenia projektu.
Domyślny login i hasło administratora są następujące:
- Login: [email protected]
- Password: appmaster
Ustawienia modułu mogą być skonfigurowane w następujący sposób:
- SignUp Groups: definiuje listę grup, w których użytkownik może się zarejestrować;
- SignUp: umożliwia użytkownikom rejestrowanie się i uzyskiwanie kont w aplikacji;
- Session timeout (minutes): definiuje czas, po którym bieżąca sesja użytkownika zostanie zakończona, jeśli użytkownik jest bezczynny; domyślnie 60 min;
- Failed login delay (in ms): definiuje czas opóźnienia dla odpowiedzi po nieudanych próbach logowania; domyślnie 0ms;
- Email confirmation required: definiuje, czy użytkownik musi potwierdzić rejestrację poprzez email;
- Signed-Up User Active: ustawia active=true dla każdego nowo utworzonego obiektu User, jeśli jest włączone;
- Groups zakładka pozwala na tworzenie i konfigurację listy grup użytkowników;
User oraz User Session modele są tworzone automatycznie po zainstalowaniu modułu Auth. Można je znaleźć w zakładce Data Design zakładce. Nie jest możliwa konfiguracja domyślnych atrybutów tych modeli, ale możliwe jest dodanie nowych.
User, User Session oraz Auth Module powiązane BP
Preinstalowane procesy biznesowe związane z User oraz User Session modelami są następujące:
User Model
- DB: Delete User: usuwa obiekt User z bazy danych na podstawie jego ID;
- DB: Update Userresetuje wszystkie pola danego obiektu modelu w bazie danych i aktualizuje je o podane wartości (DB: Patch User musi być użyty do zmiany tylko podanych pól i zachowania innych w niezmienionym stanie);
- DB: Create User: tworzy rekord w bazie danych i zwraca obiekt modelu User (wymaga użycia Make User bloku do tworzenia User obiekt modelu według pól wejściowych);
- DB: Soft Delete User: aktualizuje DeletedAt pole wybranego User obiektu modelu zamiast usuwania całego rekordu jak to robi DB: Delete User robi;
- DB: Bulk Delete Userusuwa hurtowo zbiór User obiektów modelu o podanych parametrach IDs (ids array); failed_ids - tablica użytkowników IDs które nie zostaną usunięte;
- DB: Patch User: aktualizuje wybrane pola obiektu User obiektu modelu w bazie danych (DB: Update User musi być użyty do wyzerowania wszystkich pól);
- DB: Search User: znajduje jeden lub kilka User obiektów modelu w bazie danych na podstawie ich pól i zwraca je;
- DB: GetOne User: znajduje User obiekt modelu na podstawie jego ID i zwraca go;
- Expand User: zwraca wszystkie pola wybranego User obiektu modelu;
- Make User: tworzy User obiekt modelu na podstawie pól wejściowych (wymagane jest użycie DB: Create User w celu wykonania rekordu w bazie danych);
User Session
- DB: Delete User Session: usuwa User Session obiekt z bazy danych na podstawie jego ID;
- DB: Update User Session: resetuje wszystkie pola danego obiektu modelu w bazie danych i aktualizuje je o podane wartości (DB: Patch User Session musi być użyty do zmiany tylko przekazanych pól);
- DB: Create User Session: tworzy rekord w bazie danych i zwraca obiekt User Session obiekt modelu (wymaga użycia Make User Session bloku do tworzenia User obiektu modelu według pól wejściowych);
- DB: Soft Delete User Session: aktualizuje DeletedAt pole wybranego User Session obiektu modelu;
- DB: Bulk Delete User Sessionusuwa hurtowo zbiór User Session rekordów obiektu modelu o podanej nazwie IDs (ids array); failed_ids tablica definiuje zbiór IDs które zostaną zignorowane w procesie usuwania;
- DB: Patch User Session: aktualizuje wybrane pola obiektu User Session obiektu modelu w bazie danych (DB: Update User Session musi być użyty do wyzerowania wszystkich pól);
- DB: Search User Session: znajduje jeden lub kilka User Session obiektów modelu w bazie danych na podstawie ich pól i zwraca je;
- DB: GetOne User Session: znajduje User Session obiekt modelu na podstawie jego ID i zwraca go;
- Expand User Session: zwraca wszystkie pola wybranego User Session obiektu modelu;
- Make User Session: tworzy User Session obiekt modelu na podstawie pól wejściowych (wymagane jest użycie DB: Create User Session w celu dokonania zapisu w bazie danych);
Auth Module
- Auth: Generate Auth Token: generuje token autoryzacyjny (Auth Token) o podanej długości;
- Auth: Registration: rejestruje nowego użytkownika;
- Auth: Authorization: sprawdza, czy dany Auth Token istnieje i zwraca użytkownika z nim związanego;
- Auth: Authentification: sprawdza login i hasło użytkownika i zwraca. Auth Token;
- Auth: Logout: kończy sesję bieżącego użytkownika na podstawie. Auth Token;
- Auth: Get current user: zwraca bieżący User obiekt modelu;
- Auth: Remove user from group: usuwa użytkownika z wybranej grupy na podstawie jej ID;
- Auth: Add user to group: dodaje użytkownika do wybranej grupy na podstawie jego ID;
- Auth: Hash Password: konwertuje ciąg haseł na hash;
- Auth: Restore Password: przywraca hasło na podstawie loginu użytkownika;
- Auth: Change Password: zmienia hasło użytkownika;
- Auth: Probe Password: sprawdza skojarzenie między hasłem a hashem;
Auth Module, User oraz User Session endpoints
Preinstalowane Endpoints z Auth Module oraz User oraz User Session są generowane automatycznie po utworzeniu projektu.
Auth Module
Typ wniosku | Endpoint | Powiązany proces biznesowy |
/logout/ | Auth: Logout | |
/auth/ | Auth: Authentification | |
/register/ | Auth: Registration | |
/confirm/ | Auth: Get Current User | |
/user/change-password/ | Auth: Change Password | |
/user/restore-password/ | Auth: Restore Password | |
/user/profile/ | Auth: Get Current User |
Użytkownik
Typ żądania | Endpoint | Skojarzony proces biznesowy |
/user/:id/ | DB: Update User | |
/user/:id/ | DB: Delete User | |
/user/:id/ | DB: GetOne User | |
/user/ | DB: Search User | |
/user/:id/ | DB: Patch User | |
/user/ | DB: Create User |
User Session
Typ żądania | Endpoint | Powiązany proces biznesowy |
/user-session/:id/ | DB: Delete User Session | |
/user-session/:id/ | DB: GetOne User Session | |
/user-session/ | DB: Search User Session | |
/user-session/:id/ | DB: Patch User Session | |
/user-session/ | DB: Create User Session | |
/user-session/:id/ | DB: Update User Session |
Auth Token
Auth Token jest używany jako token sesji uprawnionego użytkownika. Możliwa jest interakcja z Auth Token, w procesach biznesowych aplikacji internetowej:
- Get Auth Token zwraca sesję bieżącego użytkownika Auth Token;
- Set Auth Token przepisuje sesję bieżącego użytkownika Auth Token;
- Remove Auth Token usuwa sesję bieżącego użytkownika Auth Token;
Jak uzyskać aktualnego użytkownika
1. Przejdź do Business logic i przeciągnij Auth: Get current user blok.
2. Przejdź do Endpoints i rozwiń User sekcję. Następnie utwórz GET metodę typu dla procesu biznesowego utworzonego w kroku 1. Adres URL endpoint będzie brzmiał. /user_current.
3. Przejdź do Web Apps i utwórz nowy proces biznesowy o nazwie Server request GET /user_current aby uzyskać bieżącego użytkownika z procesu biznesowego aplikacji internetowej.