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 User resetuje 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 User usuwa 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 Session usuwa 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 wnioskuEndpointPowią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 żądaniaEndpointSkojarzony 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 żądaniaEndpointPowią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.

