WIP: Add account authentication support to web app #41

Draft
luca0N wants to merge 1 commit from dev_client_auth into dev
Owner

Add account authentication support to the web app. This pull request does not include account support in the backend server.

  • Add login page prototype
    • Add option to stay logged in
    • Make login page functional
  • Add "Forgot password?" page prototype
    • Make "Forgot password?" page functional
  • Check for server authentication support/requirement in main page1
  • Store session token/ID (to be decided) with either cookies or localStorage

  1. Account authentication is optional. Instance administrators can either require it, or leave it disabled. The web app should check whether the server it's configured to use requires authentication before redirecting the user to the relevant page. ↩︎

Add account authentication support to the web app. This pull request does not include account support in the backend server. - [x] Add login page prototype - [ ] Add option to stay logged in - [ ] Make login page functional - [ ] Add "Forgot password?" page prototype - [ ] Make "Forgot password?" page functional - [ ] Check for server authentication support/requirement in main page[^1] - [ ] Store session token/ID (to be decided) with either cookies or localStorage [^1]: Account authentication is optional. Instance administrators can either require it, or leave it disabled. The web app should check whether the server it's configured to use requires authentication before redirecting the user to the relevant page.
luca0N self-assigned this 2026-02-01 18:28:11 +00:00
In the web app, create a new page for authentication, and add a new
route for it.  The page included is only a prototype which does not yet
include the authentication code.
Author
Owner

Note that support for accounts is not yet implemented in the server. This will be worked on in another pull request. I am still deciding how authentication will be implemented (either a simple session token with cookies/bearer authorization, or JWT).

Note that support for accounts is not yet implemented in the server. This will be worked on in another pull request. I am still deciding how authentication will be implemented (either a simple session token with cookies/bearer authorization, or JWT).
Author
Owner

I must decide which DBMS to use. Seems like there is a Go library that provides an interface to multiple RDBMSes, but I haven't dug too deep into it yet. If such library were to exist, using it would make the project much more flexible, and administrators could pick and choose their DBMS of choice. One downside is that it would likely make testing more complex, as the need for testing multiple DBMSes would surge.

2026-03-05 update: see #62 (comment)

I must decide which DBMS to use. Seems like there is a Go library that provides an interface to multiple RDBMSes, but I haven't dug too deep into it yet. If such library were to exist, using it would make the project much more flexible, and administrators could pick and choose their DBMS of choice. One downside is that it would likely make testing more complex, as the need for testing multiple DBMSes would surge. 2026-03-05 update: see https://git.luca0n.com/luca0N/lanbassador/pulls/62#issuecomment-1435
luca0N force-pushed dev_client_auth from 11293068ef to 974d32400d 2026-02-25 23:30:16 +00:00 Compare
Author
Owner

I had to rebase this branch with dev, as it was missing the required @angular/localize package.

Doing so resulted in the commit I made losing its GPG signature (as expected), but the new commit was not signed by this Forgejo instance.

I will force-push to this branch with a signed commit ASAP (I still have the original signed one).

I had to rebase this branch with `dev`, as it was missing the required `@angular/localize` package. Doing so resulted in the commit I made losing its GPG signature (as expected), but the new commit was not signed by this Forgejo instance. I will force-push to this branch with a signed commit ASAP (I still have the original signed one).
luca0N force-pushed dev_client_auth from 974d32400d to 112f06f035 2026-03-01 18:39:09 +00:00 Compare
Author
Owner

Latest force-push rebased the branch with the dev branch, resigning the single commit in this pull request.

Latest force-push rebased the branch with the `dev` branch, resigning the single commit in this pull request.
This pull request is marked as a work in progress.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin dev_client_auth:dev_client_auth
git switch dev_client_auth

Merge

Merge the changes and update on Forgejo.
git switch dev
git merge --no-ff dev_client_auth
git switch dev_client_auth
git rebase dev
git switch dev
git merge --ff-only dev_client_auth
git switch dev_client_auth
git rebase dev
git switch dev
git merge --no-ff dev_client_auth
git switch dev
git merge --squash dev_client_auth
git switch dev
git merge --ff-only dev_client_auth
git switch dev
git merge dev_client_auth
git push origin dev
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Blocks Depends on
Reference
luca0N/lanbassador!41
No description provided.