Login With Email
Sign in from the Account login screen with an existing email and password account. A successful login stores the session on the device and opens the authenticated app; it does not create an account, grant permissions, or choose Harbor Demo Group or Harbor Soho by itself.
In this article
Use this guide when an operator starts from a signed-out device and needs to enter Antylogic with an existing Account email/password login.
This is separate from signup, Internal access, OAuth provider buttons, demo-session resume, and password reset. Organisation, location, and available app areas are loaded only after authentication.
Before you start
- The app is signed out and opens auth/login.
- The operator has an existing native email/password account.
- The linked app user exists or can be provisioned from the native identity and is active.
- The app/auth API is reachable and can issue a session for the resolved OAuth client.
- The device can store access_token and refresh_token in tokenStorage.
Instructions
- 1.
Open Account Login
Open the signed-out app at auth/login. The screen starts in Account mode and shows Email, Password, Remember me, Forgot password, and Log in.
- 2.
Enter Credentials
Enter the account email and password. The app trims the email before submission, leaves the password unchanged, and keeps Remember me selected by default unless the operator turns it off.
- 3.
Submit Login
Press Log in. The app clears previous field errors, blocks duplicate submissions while pending, and sends email, password, and remember to POST /api/app/auth/callback/native. The compatibility alias is POST /api/app/callback/native.
- 4.
Enter The App
After the backend verifies the native identity and confirms the app user is active, the app stores the returned tokens, reloads the current user and permissions, and switches into the authenticated app state.
- 5.
Handle Problems
If Email or Password errors appear, correct the fields and submit again. If the API is unavailable, the app opens ApiConnectionError from Login. If credentials, consent, or active-user checks fail, the operator remains on Login unless a valid session is returned.
Validations and limits
- Email is required and must contain @ before submission.
- Password is required and must be at least 6 characters before submission.
- Duplicate submissions are blocked while login is pending.
- POST /api/app/auth/callback/native and POST /api/app/callback/native are POST-only sensitive auth routes and are rate-limited by default.
- The backend lowercases and trims email, requires an existing native identity with a password hash, and verifies the password.
- A missing identity, passwordless identity, wrong password, failed consent/client check, or inactive app user cannot receive a session.
- If Remember me stays selected, the refresh token lasts 30 days; if it is turned off, it lasts 24 hours.
- A request with no response or HTTP 500+ navigates to ApiConnectionError from Login.
- A successful response without result.access_token is treated as a login failure.
- Do not use DEMO_USER_EMAIL as proof of a native email/password login in the GB runtime; that runtime does not provide a proven native password for it.
Expected result
With valid credentials, access_token and refresh_token are stored in tokenStorage, authenticated user and permission queries are refreshed, and the app leaves the public Login screen for the authenticated app stack. This login action does not assign permissions or directly select Harbor Demo Group or Harbor Soho context.