This commit is contained in:
2025-03-13 21:18:01 +02:00
parent 02adc8b545
commit fd957e32b9
28 changed files with 1064 additions and 457 deletions

View File

@@ -9,6 +9,7 @@ import (
"strings"
"time"
"git.acooldomain.co/server-manager/backend-kubernetes-go/dbhandler"
"git.acooldomain.co/server-manager/backend-kubernetes-go/models"
"github.com/gin-gonic/gin"
"github.com/golang-jwt/jwt"
@@ -18,22 +19,35 @@ import (
"golang.org/x/crypto/bcrypt"
)
type AuthMode string
var secret []byte
var method string
var DOMAIN string
const (
Oidc AuthMode = "OIDC"
UserPass AuthMode = "UserPass"
)
type Connection struct {
DatabaseConnection *mongo.Client
usersDbHandler dbhandler.UsersDBHandler
authorizationDbHandler dbhandler.AuthorizationDbHandler
authMode AuthMode
userAuthDbHandler *dbhandler.UserPassAuthanticationDbHandler
OidcAuthDbHandler *dbhandler.OidcAuthenticationDbHandler
}
type TokenInfo struct {
type Claims struct {
Username string `json:"username"`
Email string `json:"email"`
Permissions models.Permission `json:"permissions"`
}
type AuthClaims struct {
*jwt.StandardClaims
TokenInfo
Claims
}
type InviteToken struct {
@@ -42,8 +56,7 @@ type InviteToken struct {
Token string `bson:"Token"`
}
func signToken(token TokenInfo) (string, error) {
func signToken(token Claims) (string, error) {
t := jwt.New(jwt.GetSigningMethod(method))
t.Claims = &AuthClaims{
@@ -178,7 +191,7 @@ func (con Connection) signIn(c *gin.Context) {
return
}
token := TokenInfo{
token := Claims{
Username: userItem.Username,
Permissions: userItem.Permissions,
}