fix(authn): add handling of invalid secret
This commit is contained in:
parent
d88bfdfe14
commit
15654b5b28
|
@ -201,15 +201,14 @@ create2(#{use_jwks := false,
|
||||||
secret := Secret0,
|
secret := Secret0,
|
||||||
secret_base64_encoded := Base64Encoded,
|
secret_base64_encoded := Base64Encoded,
|
||||||
verify_claims := VerifyClaims}) ->
|
verify_claims := VerifyClaims}) ->
|
||||||
Secret = case Base64Encoded of
|
case may_decode_secret(Base64Encoded, Secret0) of
|
||||||
true ->
|
{error, Reason} ->
|
||||||
base64:decode(Secret0);
|
{error, Reason};
|
||||||
false ->
|
Secret ->
|
||||||
Secret0
|
JWK = jose_jwk:from_oct(Secret),
|
||||||
end,
|
{ok, #{jwk => JWK,
|
||||||
JWK = jose_jwk:from_oct(Secret),
|
verify_claims => VerifyClaims}}
|
||||||
{ok, #{jwk => JWK,
|
end;
|
||||||
verify_claims => VerifyClaims}};
|
|
||||||
|
|
||||||
create2(#{use_jwks := false,
|
create2(#{use_jwks := false,
|
||||||
algorithm := 'public-key',
|
algorithm := 'public-key',
|
||||||
|
@ -234,6 +233,14 @@ create2(#{use_jwks := true,
|
||||||
{error, Reason}
|
{error, Reason}
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
may_decode_secret(false, Secret) -> Secret;
|
||||||
|
may_decode_secret(true, Secret) ->
|
||||||
|
try base64:decode(Secret)
|
||||||
|
catch
|
||||||
|
error : _ ->
|
||||||
|
{error, {invalid_parameter, Secret}}
|
||||||
|
end.
|
||||||
|
|
||||||
replace_placeholder(L, Variables) ->
|
replace_placeholder(L, Variables) ->
|
||||||
replace_placeholder(L, Variables, []).
|
replace_placeholder(L, Variables, []).
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue