auth: refactor errors to have prefix

This commit is contained in:
Lukas Zapletal 2025-07-08 15:37:22 +02:00 committed by Lukáš Zapletal
parent 6223c43cd7
commit 9db1f304fa
3 changed files with 7 additions and 7 deletions

View file

@ -8,8 +8,8 @@ import (
"github.com/openshift-online/ocm-sdk-go/authentication" "github.com/openshift-online/ocm-sdk-go/authentication"
) )
var NoJWTError = errors.New("request doesn't contain JWT") var ErrNoJWT = errors.New("request doesn't contain JWT")
var NoKeyError = errors.New("cannot find key in jwt claims") var ErrNoKey = errors.New("cannot find key in jwt claims")
// GetFromClaims returns a value of JWT claim with the specified key // GetFromClaims returns a value of JWT claim with the specified key
// //
@ -22,7 +22,7 @@ func GetFromClaims(ctx context.Context, keys []string) (string, error) {
if err != nil { if err != nil {
return "", err return "", err
} else if token == nil { } else if token == nil {
return "", NoJWTError return "", ErrNoJWT
} }
claims := token.Claims.(jwt.MapClaims) claims := token.Claims.(jwt.MapClaims)
@ -35,5 +35,5 @@ func GetFromClaims(ctx context.Context, keys []string) (string, error) {
} }
return "", NoKeyError return "", ErrNoKey
} }

View file

@ -32,7 +32,7 @@ func TestChannelFromContext(t *testing.T) {
token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.AmoXfoVMgoq4H-XsD7lTGgY6QJCW1914aYlmGnj7wtY", token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.AmoXfoVMgoq4H-XsD7lTGgY6QJCW1914aYlmGnj7wtY",
value: "", value: "",
expectedFields: []string{"rh-org-id"}, expectedFields: []string{"rh-org-id"},
err: auth.NoKeyError, err: auth.ErrNoKey,
}, },
{ {
name: "no rh-org-id but account_id=123", name: "no rh-org-id but account_id=123",
@ -60,7 +60,7 @@ func TestChannelFromContext(t *testing.T) {
t.Run("no jwt token in context", func(t *testing.T) { t.Run("no jwt token in context", func(t *testing.T) {
channel, err := auth.GetFromClaims(context.Background(), []string{"osbuild!"}) channel, err := auth.GetFromClaims(context.Background(), []string{"osbuild!"})
require.ErrorIs(t, err, auth.NoJWTError) require.ErrorIs(t, err, auth.ErrNoJWT)
require.Equal(t, "", channel) require.Equal(t, "", channel)
}) })
} }

View file

@ -14,7 +14,7 @@ func TenantChannelMiddleware(tenantProviderFields []string, onFail error) func(n
return func(ctx echo.Context) error { return func(ctx echo.Context) error {
tenant, err := GetFromClaims(ctx.Request().Context(), tenantProviderFields) tenant, err := GetFromClaims(ctx.Request().Context(), tenantProviderFields)
// Allowlisted paths won't have a token // Allowlisted paths won't have a token
if err != nil && !errors.Is(err, NoJWTError) { if err != nil && !errors.Is(err, ErrNoJWT) {
return onFail return onFail
} }