🐛 Fix decoding permission nodes from db

This commit is contained in:
2024-05-17 20:34:34 +08:00
parent 1e2d5e9f9d
commit ebef35a619
4 changed files with 44 additions and 38 deletions

View File

@ -2,6 +2,7 @@ package services
import (
"fmt"
jsoniter "github.com/json-iterator/go"
"time"
"git.solsynth.dev/hydrogen/passport/pkg/models"
@ -30,7 +31,11 @@ func Authenticate(access, refresh string, depth int) (ctx models.AuthContext, pe
newRefresh = refresh
if ctx, err = GetAuthContext(claims.ID); err == nil {
perms = FilterPermNodes(ctx.Account.PermNodes, ctx.Ticket.Claims)
var heldPerms map[string]any
rawHeldPerms, _ := jsoniter.Marshal(ctx.Account.PermNodes)
_ = jsoniter.Unmarshal(rawHeldPerms, &heldPerms)
perms = FilterPermNodes(heldPerms, ctx.Ticket.Claims)
return
}