AuthBridge banner

AuthBridge

20 devlogs
15h 0m 10s

An email -> openid authentication provider. Made to bridge the gap of simple authentication in places where it would otherwise be hard.

This project uses AI

The initial OIDC backend logic was made by copilot, then reviewed and tested by me. No frontend code is AI.

Demo Repository

Loading README...

Trey

Shipped this project!

I built a simple OIDC provider that uses email based authentication. I learned how OIDC works, and how to send emails with python. It turned out good, and I like how simple it is to use. Even though the use case for this is pretty small, I think I will enjoy using this! Especially after all of your feedback ;)

Trey

Better app setup

The modify page now shows important information for setup with external apps. Before this, you would need to guess the links or find the .well-known path. Anyway, they are now displayed on the app modify page.

Attachment
0
Trey

Docs

A simple readme has been made. Not much else to say.

Attachment
0
Trey

Consent

The auth flows are no longer implicit. The first time you authenticate an app, you will be asked for consent. Every time after, you will not be asked.
Edit: My OBS glitched and didn’t show the auth flow. Oops

0
Trey

Darn it

In the interest of time (and getting this in for lock in), I caved in and used copilot for the backend openid logic, then spent time fixing the places where it did not understand how my code worked. There is no auth page right now, I will make that next.
Anyway, after an hour of debugging nextcloud oidc, I got the first login working! The flow works, but there is no user-facing prompt yet.

0
Trey

OIDC config endpoint working

More will need to be added to this later, but some basic information is now shown in the .well-known of the oidc endpoint. More will need to be added later.

Attachment
0
Trey

Apps style

The my apps page is now styled. Also, work is being done to get the .well-known address working for OIDC

Attachment
0
Trey

Modify apps 2

You can now modify apps. The form works now.

Attachment
0
Trey

Modify apps

You can now modify your new app (not really yet)! The regenerate secret button works, but saving does not. As always, there were also a few backend changes.

Attachment
Attachment
0
Trey

Create an app

The create app button actually does something now. It adds an app to the db and redirects you to the modify page.

Other

  • Dashboard shows app creator
  • Backend changes
Attachment
0
Trey

Your apps page

The your apps page is here, still nothing to test with though. The dashboard also had the featured section removed.

Attachment
0
Trey

Auth

Authentication works now, and users can authenticate and access the dashboard, The header also changes content based on whether the request was authenticated or not.

Attachment
0
Trey

Getting more ready

I don’t have much to show for this log, but I’m trying to log every 30 minutes. I spent my time making the DB support saving user auths. Also, there is a dashboard layout now! No data in it yet though. I’m going to make it look better soon, but I want to make sure the core works before finishing this.

Attachment
0
Trey

Signup/login

The final login thing is done! You can signup/login, and you automatically get redirected to the right flow when you enter your email. If you set an owner email in the env variables, it can also automatically give you admin!

Attachment
0
Trey

Codes

The code page works now! If you type an incorrect code, it says so, and if you get it right, it shows a final register page (not complete yet).

0
Trey

Email!

Sending emails works now. You just need to provide an SMTP server.

Attachment
0
Trey

Email

The email send logic is working now. I do not have credentials to test it with though. Anyway, the base login logic is mostly done.

Attachment
0
Trey

Style pt 2

I improved the style again. Not much else to say.

Attachment
0
Trey

Style

Nothing much has changed, but the style was improved, and the name was changed from authy to AuthBridge. An env variable (APP_NAME) lets you change it to something else if you want (I can’t decide on a name, this is my way of letting me change it quickly later).

Attachment
0
Trey

Getting further

After messing with db permissions, there is now a non-working login form. At some point this will email you, but right now it does nothing. Also, the abc is from a header! It’s not done yet but at some point it will be at the top of the screen.

Attachment
0
Trey

Beginnings ish

There is a working base page now. I spent an hour trying to get docker to play nice with uv. Anyway, images build and I can run the container. A basic DB structure has also been designed, but nothing is final yet.

Attachment
0