From f5888c3056faab5e839c37d5cb168d2de1eb04ed Mon Sep 17 00:00:00 2001 From: Maxim Lebedev Date: Fri, 18 Feb 2022 00:10:16 +0500 Subject: [PATCH] :bug: Allow empty CodeChallengeMethod parsing --- internal/domain/code_challenge_method.go | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/internal/domain/code_challenge_method.go b/internal/domain/code_challenge_method.go index eb5fd84..3c555ab 100644 --- a/internal/domain/code_challenge_method.go +++ b/internal/domain/code_challenge_method.go @@ -63,11 +63,12 @@ var ErrCodeChallengeMethodUnknown error = NewError( //nolint: gochecknoglobals // maps cannot be constants var uidsMethods = map[string]CodeChallengeMethod{ - CodeChallengeMethodMD5.uid: CodeChallengeMethodMD5, - CodeChallengeMethodPLAIN.uid: CodeChallengeMethodPLAIN, - CodeChallengeMethodS1.uid: CodeChallengeMethodS1, - CodeChallengeMethodS256.uid: CodeChallengeMethodS256, - CodeChallengeMethodS512.uid: CodeChallengeMethodS512, + CodeChallengeMethodMD5.uid: CodeChallengeMethodMD5, + CodeChallengeMethodPLAIN.uid: CodeChallengeMethodPLAIN, + CodeChallengeMethodS1.uid: CodeChallengeMethodS1, + CodeChallengeMethodS256.uid: CodeChallengeMethodS256, + CodeChallengeMethodS512.uid: CodeChallengeMethodS512, + CodeChallengeMethodUndefined.uid: CodeChallengeMethodUndefined, } // ParseCodeChallengeMethod parse string identifier of code challenge method @@ -99,13 +100,10 @@ func (ccm *CodeChallengeMethod) UnmarshalJSON(v []byte) error { return fmt.Errorf("CodeChallengeMethod: UnmarshalJSON: %w", err) } - method, err := ParseCodeChallengeMethod(src) - if err != nil { + if *ccm, err = ParseCodeChallengeMethod(src); err != nil { return fmt.Errorf("CodeChallengeMethod: UnmarshalJSON: %w", err) } - *ccm = method - return nil }