Darkness4/auth-htmx
Darkness4/auth-htmx has 107 GitHub stars and 9 forks. Star changes are not measured yet. Last checked 2026-11-11 13:39 UTC. Last push 2026-11-05.
Experiment with Go + HTMX and OAuth2/OIDC + WebAuthn
측정된 스타 증가
- in 24h
- 업데이트 지연
- in 7 days
- 기록 수집 중
- in 15 days
- 기록 수집 중
- in 1 month
- 기록 수집 중
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
README.md
OriginalGo + HTMX + OAuth2/OIDC + WebAuthn
A very simple example HTMX with OAuth2 with:
- Go HTML templating engine.
- HTMX solution for SSR.
- OAuth2 with Github Auth and OIDC. OAuth2 delegates authentication to another authentication service. OIDC provides identities.
- CSRF protection measures for OAuth2 and all requests.
- SQLite3 with sqlc and golang-migrate.
- Optional users in database as Identity Provider. Authentication is through WebAuthn, a solution to delegate authentication directly to the user.
- JWT is used a session token.
Embellishment:
- Notyf to notify about errors, include HTMX errors.
- Added Hyperscript for edge cases.
Motivation
For the hype.
Usage
Edit the config.yaml to set the OAuth2 providers.
Set the necessary parameters or environment variables:
## .env.local ## A 32 bytes hex secret () CSRF_SECRET=51b22632498f26d9131c4743b72c362567b5b4c96ac5e0f4fef7cb58ecac5684 ## A unique string secret JWT_SECRET=secret ## PUBLIC_URL will be used as redirect url which is ${PUBLIC_URL}/callback PUBLIC_URL=http://localhost:3000 # redirectURL: http://localhost:3000/callback DB_PATH=/data/db.sqlite3 # CONFIG_PATH=/path/to/config.yamlRun the binary:
./auth-htmx
Help:
NAME:
auth-htmx - Demo of Auth and HTMX.
USAGE:
auth-htmx [global options] command [command options] [arguments...]
COMMANDS:
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--csrf.secret value A 32 bytes hex secret [$CSRF_SECRET]
--jwt.secret value A unique string secret [$JWT_SECRET]
--config.path value, -c value Path of the configuration file. (default: "./config.yaml") [$CONFIG_PATH]
--public-url value An URL pointing to the server. (default: "http://localhost:3000") [$PUBLIC_URL]
--db.path value SQLite3 database file path. (default: "./db.sqlite3") [$DB_PATH]
--help, -h show help
--version, -v print the version
Application Flow
- A home page:
- Show login button if not logged in.
- Else, show a welcome with routing.
- A protected counter page.
The login process follows the standard OAuth2 process, which is fully documented on GitHub.
Fetching identity is through OIDC or GitHub API.
관련 프로젝트 살펴보기
Asabeneh/30-Days-Of-Python
30 Days of Python 프로그래밍 챌린지는 Python 프로그래밍 언어를 30일 동안 배우기 위한 단계별 가이드입니다. 이 챌린지는 100일 이상 걸릴 수 있습니다. 자신의 속도에 맞춰 진행하세요. 다음 동영상도 도움이 될 수 있습니다: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,560 스타grafana/grafana
개방적이고 조합 가능한 옵저버빌리티 및 데이터 시각화 플랫폼입니다. Prometheus, Loki, Elasticsearch, InfluxDB, Postgres 등 여러 소스의 메트릭, 로그, 트레이스를 시각화합니다.
77,830 스타redis/redis
실시간 데이터 기반 애플리케이션을 구축하는 개발자에게 Redis는 가장 선호되고, 가장 빠르며, 기능이 가장 풍부한 캐시, 데이터 구조 서버이자 문서 및 벡터 쿼리 엔진입니다.
77,395 스타apache/superset
Apache Superset는 데이터 시각화 및 데이터 탐색 플랫폼입니다.
75,473 스타