feat: oidc client create command (#672)

* feat: add oidc client create command

* refactor: use own utility for creating random strings (more flexible
than stdlib)

* feat: validate client name to avoid config errors

* refactor: limit to only alphanumeric characters and hyphens

* refactor: remove the need of the logger in the create oidc client cmd
This commit is contained in:
Stavros
2026-02-26 16:28:58 +01:00
committed by GitHub
parent 5acac0e016
commit 4a1889c20b
9 changed files with 77 additions and 11 deletions

View File

@@ -1,7 +1,6 @@
package controller
import (
"crypto/rand"
"errors"
"fmt"
"net/http"
@@ -145,7 +144,7 @@ func (controller *OIDCController) Authorize(c *gin.Context) {
// WARNING: Since Tinyauth is stateless, we cannot have a sub that never changes. We will just create a uuid out of the username and client name which remains stable, but if username or client name changes then sub changes too.
sub := utils.GenerateUUID(fmt.Sprintf("%s:%s", userContext.Username, client.ID))
code := rand.Text()
code := utils.GenerateString(32)
// Before storing the code, delete old session
err = controller.oidc.DeleteOldSession(c, sub)