diff --git a/id/system/system.go b/id/system/system.go index 77084f5dcb8dc702b2b14337e97cdc97fd80930b..810062927a8cb21c26acc5e8a32017e9d68ca936 100644 --- a/id/system/system.go +++ b/id/system/system.go @@ -63,9 +63,11 @@ func Handler(obj any) *id.ObjectId { i.UserID = val.GetID(context.TODO()) return id.MustObjectId(&i) case *auth.ClientPrincipal: - var i id.ClientId - i.ClientID = val.GetID(context.TODO()) - return id.MustObjectId(&i) + client, _ := val.Client(context.TODO()) + if client == nil { + return id.MustObjectId(&id.ClientId{}) + } + return Handler(client) case *auth.SystemPrincipal: return id.MustObjectId(&id.SystemId{}) case *auth.Anonymous: