Single sign-on servers need no setup step

With single sign-on there is no first-start code and no /setup form: the
identity provider says who may sign in and who is admin, and the first
allowed sign-in makes the organisation, named after ARCHIFY_SYNC_NAME.
Server 0.1.1, chart 0.1.2.
This commit is contained in:
Oleg Lukasonok committed 2026-11-08 19:34:48 +02:00
1 parent d8d46266dc
commit 01a35f7ba6
7 files changed
+45 -12

No files matched your search

+2 -2
View File
@@ -15,7 +15,7 @@ One Rust process and PostgreSQL. The design, with its decisions, is the Archify
- **Restore:** brings an earlier version back as a new edit and a new version; history is never rewritten.
- **Update log:** taking a version compacts it.
- **Sign-in.** The editor opens `/authorize` in the browser and gets a one-time code back through its URI handler. It exchanges the code with its PKCE verifier for an access token (JWT, 15 minutes) and a refresh token. The refresh token is single use: reusing one signs out the whole session.
- **First start.** A server without accounts prints a first-start code in its log. The first person to use it at `/setup` becomes the admin.
- **First start.** With single sign-on there is no setup step: the identity provider says who may sign in and who is admin, and the first sign-in makes the organisation (named after `ARCHIFY_SYNC_NAME`). Without single sign-on, a server without accounts prints a first-start code in its log; the first person to use it at `/setup` becomes the admin.
- **Invites.** An invite link (`/join/<token>`) opens the extension. Someone new makes an account on the sign-in page, so no mail server is needed.
## Layout
@@ -36,7 +36,7 @@ docker run -d --name archify-pg -e POSTGRES_PASSWORD=dev -e POSTGRES_DB=archify
ARCHIFY_SYNC_DATABASE_URL=postgres://postgres:dev@127.0.0.1:5432/archify cargo run -p archify-sync-server
```
The log shows the first-start code. Open `http://localhost:8080/setup` and enter it.
Without single sign-on, the log shows the first-start code. Open `http://localhost:8080/setup` and enter it.
Or the server and its database in containers: