- Go 81.7%
- Makefile 18.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
The portal is where people manage their own account instead of asking an administrator: profile, credentials, sessions, granted applications, export and deletion. It is deliberately ordinary, server-rendered and unprivileged, so it doubles as the worked example for anyone replacing it with a front-end of their own. This lays the ground it will be built on: the command entry point and its version reporting, the quality gate every later change must pass, and the release pipeline that produces signed binaries. |
||
| cmd/burh-portal | ||
| .gitignore | ||
| .golangci.yml | ||
| .goreleaser.yaml | ||
| go.mod | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
burh-self-service
The self-service portal for a burh identity provider: where people manage their own account rather than asking an administrator to do it for them.
It is deliberately ordinary. Server-rendered Go templates, a little progressive enhancement, no build chain, and nothing privileged. Every page is built on the same public API any other front-end would use, so this repository doubles as the worked example for anyone replacing it with their own.
Status
Early development, following the server's API as it lands.
What people can do here
- Sign in and see the applications they are entitled to, as a launcher.
- Edit the parts of their profile the administrator has opened up.
- Change their password, enrol TOTP, register and name passkeys, and regenerate recovery codes.
- Review active sessions and devices and sign any of them out.
- See which applications they have granted access to, and withdraw it.
- Export their data, or request that the account be deleted.
Anything sensitive asks the person to prove a factor again first.
Running it
make build # bin/burh-portal
make check # lint and tests
The portal needs to know where the identity provider lives and holds no secrets of its own. It can also be served directly by burh-server for small deployments; running it separately is for when the portal should sit on its own hostname or be replaced wholesale.
Appearance
The portal reads the deployment's branding from the API, so a logo and
colour change in the administration console reaches this page too. For
deeper changes, replace the templates in internal/web/templates, or
build a different front-end entirely against the same API.
Building
Go 1.26 or newer, golangci-lint and
GoReleaser on PATH. The version string
comes from the git tag at build time.
Contributing
Patches are welcome. Guard clauses over nested conditionals, files well under 500 lines, lines wrapped at 72 columns, behaviour landing with a test, and Conventional Commits messages.
Licence
Apache-2.0. See LICENSE.