feat: implement basic oidc functionality

This commit is contained in:
Stavros
2026-01-22 22:30:23 +02:00
parent 6ae7c1cbda
commit 97e90ea560
17 changed files with 916 additions and 18 deletions

61
sql/oidc_queries.sql Normal file
View File

@@ -0,0 +1,61 @@
-- name: CreateOidcCode :one
INSERT INTO "oidc_codes" (
"sub",
"code",
"scope",
"redirect_uri",
"client_id",
"expires_at"
) VALUES (
?, ?, ?, ?, ?, ?
)
RETURNING *;
-- name: DeleteOidcCode :exec
DELETE FROM "oidc_codes"
WHERE "code" = ?;
-- name: GetOidcCode :one
SELECT * FROM "oidc_codes"
WHERE "code" = ?;
-- name: CreateOidcToken :one
INSERT INTO "oidc_tokens" (
"sub",
"access_token",
"scope",
"client_id",
"expires_at"
) VALUES (
?, ?, ?, ?, ?
)
RETURNING *;
-- name: DeleteOidcToken :exec
DELETE FROM "oidc_tokens"
WHERE "access_token" = ?;
-- name: GetOidcToken :one
SELECT * FROM "oidc_tokens"
WHERE "access_token" = ?;
-- name: CreateOidcUserInfo :one
INSERT INTO "oidc_userinfo" (
"sub",
"name",
"preferred_username",
"email",
"groups",
"updated_at"
) VALUES (
?, ?, ?, ?, ?, ?
)
RETURNING *;
-- name: DeleteOidcUserInfo :exec
DELETE FROM "oidc_userinfo"
WHERE "sub" = ?;
-- name: GetOidcUserInfo :one
SELECT * FROM "oidc_userinfo"
WHERE "sub" = ?;