🐛 Allow empty CodeChallengeMethod parsing

This commit is contained in:
Maxim Lebedev 2022-02-18 00:10:16 +05:00
parent 9b94472bb5
commit f5888c3056
Signed by: toby3d
GPG Key ID: 1F14E25B7C119FC5
1 changed files with 7 additions and 9 deletions

View File

@ -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
}