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.

01

Domyślny login i hasło administratora są następujące:

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;

module_auth_settings

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.

data model

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_delete_user

    • 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_update_user

    • 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_create_user

    • DB: Soft Delete User: aktualizuje DeletedAt pole wybranego User obiektu modelu zamiast usuwania całego rekordu jak to robi DB: Delete User robi;

db_soft_delete_user

    • 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_bulk_delete_user

    • 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_patch_user

    • DB: Search User: znajduje jeden lub kilka User obiektów modelu w bazie danych na podstawie ich pól i zwraca je;

db_search_user

    • DB: GetOne User: znajduje User obiekt modelu na podstawie jego ID i zwraca go;

db_getone_user

    • Expand User: zwraca wszystkie pola wybranego User obiektu modelu;

expand_user

    • 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);

make_user

  • User Session

    • DB: Delete User Session: usuwa User Session obiekt z bazy danych na podstawie jego ID;

db_delete_user_session

    • 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_update_user_session

    • 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_create_user_session

    • DB: Soft Delete User Session: aktualizuje DeletedAt pole wybranego User Session obiektu modelu;

db_soft_delete_user_session

    • 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_bulk_delete_user_session

    • 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_patch_user_session

    • 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_search_user_session

    • DB: GetOne User Session: znajduje User Session obiekt modelu na podstawie jego ID i zwraca go;

db_getone_user_session

    • Expand User Session: zwraca wszystkie pola wybranego User Session obiektu modelu;

expand_user_session

    • 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);

make_user_session

  • Auth Module

    • Auth: Generate Auth Token: generuje token autoryzacyjny (Auth Token) o podanej długości;

auth_generate_auth_token

    • Auth: Registration: rejestruje nowego użytkownika;

auth_registration

    • Auth: Authorization: sprawdza, czy dany Auth Token istnieje i zwraca użytkownika z nim związanego;

auth_authorization

    • Auth: Authentification: sprawdza login i hasło użytkownika i zwraca. Auth Token;

auth_authentification

    • Auth: Logout: kończy sesję bieżącego użytkownika na podstawie. Auth Token;

auth_logout

    • Auth: Get current user: zwraca bieżący User obiekt modelu;

auth_get_current_user

    • Auth: Remove user from group: usuwa użytkownika z wybranej grupy na podstawie jej ID;

auth_remove_user_from_group

    • Auth: Add user to group: dodaje użytkownika do wybranej grupy na podstawie jego ID;

auth_add_user_to_group

    • Auth: Hash Password: konwertuje ciąg haseł na hash;

auth_hash_password

    • Auth: Restore Password: przywraca hasło na podstawie loginu użytkownika;

auth_restore_password

    • Auth: Change Password: zmienia hasło użytkownika;

auth_change_password

    • Auth: Probe Password: sprawdza skojarzenie między hasłem a hashem;

auth_probe_pw

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;

get_auth_token

  • Set Auth Token przepisuje sesję bieżącego użytkownika Auth Token;

set_auth_token

  • Remove Auth Token usuwa sesję bieżącego użytkownika Auth Token;

remove_auth_token

Jak uzyskać aktualnego użytkownika

1. Przejdź do Business logic i przeciągnij Auth: Get current user blok.

get_current_user_be

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.

get_current_user_mw

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.

get_current_user_fe

Was this article helpful?

AppMaster.io 101 Kurs zderzeniowy

10 moduły
2 Tygodnie

Nie wiesz, od czego zacząć? Rozpocznij z naszym szybkim kursem dla początkujących i poznaj AppMaster od A do Z.

Rozpocznij kurs
Development it’s so easy with AppMaster!

Potrzebujesz więcej pomocy?

Rozwiąż każdy problem z pomocą naszych ekspertów. Oszczędzaj czas i skup się na tworzeniu aplikacji.

headphones

Skontaktuj się z pomocą techniczną

Opowiedz nam o swoim problemie, a my znajdziemy dla Ciebie rozwiązanie.

message

Czat społeczności

Omów pytania z innymi użytkownikami na naszym czacie.

Dołącz do społeczności