From 690a2bd1db0318e61ae776a86d88f2f7781ae2a1 Mon Sep 17 00:00:00 2001 From: Ralf Haferkamp Date: Tue, 24 May 2022 16:09:17 +0200 Subject: [PATCH] Use utlis function to void nil pointer panics Co-authored-by: kobergj --- extensions/graph/pkg/middleware/auth.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/extensions/graph/pkg/middleware/auth.go b/extensions/graph/pkg/middleware/auth.go index 8d64b70f2a..328899dbb1 100644 --- a/extensions/graph/pkg/middleware/auth.go +++ b/extensions/graph/pkg/middleware/auth.go @@ -6,6 +6,7 @@ import ( "github.com/cs3org/reva/v2/pkg/auth/scope" revactx "github.com/cs3org/reva/v2/pkg/ctx" "github.com/cs3org/reva/v2/pkg/token/manager/jwt" + "github.com/cs3org/reva/v2/pkg/utils" "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" "github.com/owncloud/ocis/v2/ocis-pkg/account" opkgm "github.com/owncloud/ocis/v2/ocis-pkg/middleware" @@ -74,10 +75,8 @@ func Auth(opts ...account.Option) func(http.Handler) http.Handler { ctx = revactx.ContextSetToken(ctx, t) ctx = revactx.ContextSetUser(ctx, u) ctx = gmmetadata.Set(ctx, opkgm.AccountID, u.Id.OpaqueId) - if u.Opaque != nil { - if roles, ok := u.Opaque.Map["roles"]; ok { - ctx = gmmetadata.Set(ctx, opkgm.RoleIDs, string(roles.Value)) - } + if role := utils.ReadPlainFromOpaque(u.Opaque, "roles"); role != "" { + ctx = gmmetadata.Set(ctx, opkgm.RoleIDs, role) } ctx = metadata.AppendToOutgoingContext(ctx, revactx.TokenHeader, t)