Explorar o código

fix(authn): verify claims type is wrong

zhouzb %!s(int64=4) %!d(string=hai) anos
pai
achega
d88bfdfe14
Modificáronse 1 ficheiros con 6 adicións e 1 borrados
  1. 6 1
      apps/emqx_authn/src/simple_authn/emqx_authn_jwt.erl

+ 6 - 1
apps/emqx_authn/src/simple_authn/emqx_authn_jwt.erl

@@ -125,7 +125,7 @@ verify_claims(default) -> #{};
 verify_claims(validator) -> [fun do_check_verify_claims/1];
 verify_claims(validator) -> [fun do_check_verify_claims/1];
 verify_claims(converter) ->
 verify_claims(converter) ->
     fun(VerifyClaims) ->
     fun(VerifyClaims) ->
-        maps:to_list(VerifyClaims)
+        [{to_binary(K), V} || {K, V} <- maps:to_list(VerifyClaims)]
     end;
     end;
 verify_claims(_) -> undefined.
 verify_claims(_) -> undefined.
 
 
@@ -349,3 +349,8 @@ validate_placeholder(<<"clientid">>) ->
     clientid;
     clientid;
 validate_placeholder(<<"username">>) ->
 validate_placeholder(<<"username">>) ->
     username.
     username.
+
+to_binary(A) when is_atom(A) ->
+    atom_to_binary(A);
+to_binary(B) when is_binary(B) ->
+    B.