test: create jwt authenticator with bad public key
This commit is contained in:
parent
f76444fbf8
commit
ae3b8fe146
|
@ -0,0 +1,3 @@
|
||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
|
-----END PUBLIC KEY-----
|
|
@ -178,6 +178,7 @@ t_public_key(_) ->
|
||||||
from => password,
|
from => password,
|
||||||
acl_claim_name => <<"acl">>,
|
acl_claim_name => <<"acl">>,
|
||||||
use_jwks => false,
|
use_jwks => false,
|
||||||
|
enable => true,
|
||||||
algorithm => 'public-key',
|
algorithm => 'public-key',
|
||||||
public_key => PublicKey,
|
public_key => PublicKey,
|
||||||
verify_claims => [],
|
verify_claims => [],
|
||||||
|
@ -199,6 +200,51 @@ t_public_key(_) ->
|
||||||
?assertEqual(ok, emqx_authn_jwt:destroy(State)),
|
?assertEqual(ok, emqx_authn_jwt:destroy(State)),
|
||||||
ok.
|
ok.
|
||||||
|
|
||||||
|
t_bad_public_keys(_) ->
|
||||||
|
BaseConfig = #{
|
||||||
|
mechanism => jwt,
|
||||||
|
from => password,
|
||||||
|
acl_claim_name => <<"acl">>,
|
||||||
|
use_jwks => false,
|
||||||
|
algorithm => 'public-key',
|
||||||
|
verify_claims => [],
|
||||||
|
disconnect_after_expire => false
|
||||||
|
},
|
||||||
|
|
||||||
|
%% try create with invalid public key
|
||||||
|
?assertMatch(
|
||||||
|
{error, invalid_public_key},
|
||||||
|
emqx_authn_jwt:create(?AUTHN_ID, BaseConfig#{
|
||||||
|
enable => true,
|
||||||
|
public_key => <<"bad_public_key">>
|
||||||
|
})
|
||||||
|
),
|
||||||
|
|
||||||
|
%% no such file
|
||||||
|
?assertMatch(
|
||||||
|
{error, invalid_public_key},
|
||||||
|
emqx_authn_jwt:create(?AUTHN_ID, BaseConfig#{
|
||||||
|
enable => true,
|
||||||
|
public_key => data_file("bad_flie_path.pem")
|
||||||
|
})
|
||||||
|
),
|
||||||
|
|
||||||
|
%% bad public key file content
|
||||||
|
?assertMatch(
|
||||||
|
{error, invalid_public_key},
|
||||||
|
emqx_authn_jwt:create(?AUTHN_ID, BaseConfig#{
|
||||||
|
enable => true,
|
||||||
|
public_key => data_file("bad_public_key_file.pem")
|
||||||
|
})
|
||||||
|
),
|
||||||
|
|
||||||
|
%% assume jwk authenticator is disabled
|
||||||
|
{ok, State} =
|
||||||
|
emqx_authn_jwt:create(?AUTHN_ID, BaseConfig#{public_key => <<"bad_public_key">>}),
|
||||||
|
|
||||||
|
?assertEqual(ok, emqx_authn_jwt:destroy(State)),
|
||||||
|
ok.
|
||||||
|
|
||||||
t_jwt_in_username(_) ->
|
t_jwt_in_username(_) ->
|
||||||
Secret = <<"abcdef">>,
|
Secret = <<"abcdef">>,
|
||||||
Config = #{
|
Config = #{
|
||||||
|
|
Loading…
Reference in New Issue