You've already forked authentication-service
mirror of
https://github.com/matrix-org/matrix-authentication-service.git
synced 2025-07-31 09:24:31 +03:00
Fix RSA JWT signature and add snapshot tests for JWT signature
This commit is contained in:
@ -95,6 +95,8 @@ macro_rules! asymetric_jwt_test {
|
||||
|
||||
conditional! { $supported =>
|
||||
use mas_jose::jwt::JsonWebSignatureHeader;
|
||||
use rand_chacha::ChaCha8Rng;
|
||||
use rand::SeedableRng;
|
||||
|
||||
#[test]
|
||||
fn verify_jwt() {
|
||||
@ -112,6 +114,25 @@ macro_rules! asymetric_jwt_test {
|
||||
jwt.verify(&key).unwrap();
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn sign_jwt() {
|
||||
let rng = ChaCha8Rng::seed_from_u64(42);
|
||||
let alg = JsonWebSignatureAlg::$alg;
|
||||
let payload = Payload {
|
||||
hello: "world".to_string(),
|
||||
};
|
||||
let header = JsonWebSignatureHeader::new(alg.clone());
|
||||
|
||||
let jwks = private_jwks();
|
||||
let key = jwks.signing_key_for_algorithm(&alg).unwrap();
|
||||
|
||||
let key = mas_jose::jwa::AsymmetricSigningKey::from_jwk_and_alg(key.params(), &alg)
|
||||
.unwrap();
|
||||
|
||||
let jwt: Jwt<'_, Payload> = Jwt::sign_with_rng(rng, header, payload, &key).unwrap();
|
||||
insta::assert_snapshot!(jwt.as_str());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn sign_and_verify_jwt() {
|
||||
let alg = JsonWebSignatureAlg::$alg;
|
||||
|
5
crates/jose/tests/snapshots/jws__es256__sign_jwt.snap
Normal file
5
crates/jose/tests/snapshots/jws__es256__sign_jwt.snap
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
source: crates/jose/tests/jws.rs
|
||||
expression: jwt.as_str()
|
||||
---
|
||||
eyJhbGciOiJFUzI1NiJ9.eyJoZWxsbyI6IndvcmxkIn0._3wYtQklt0l_fhcwpQUSWbySVA3uJjVNgoudkvUInWjPpS7tO0sgmPf8Bwb3Rv9oTJncQfavs4rEw2kmgouPBw
|
5
crates/jose/tests/snapshots/jws__es256k__sign_jwt.snap
Normal file
5
crates/jose/tests/snapshots/jws__es256k__sign_jwt.snap
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
source: crates/jose/tests/jws.rs
|
||||
expression: jwt.as_str()
|
||||
---
|
||||
eyJhbGciOiJFUzI1NksifQ.eyJoZWxsbyI6IndvcmxkIn0.-9Z19RYab_3Ym4Ork_lZUriouz5ktZFkT6B-DBGPYCJhVvSSNtG9Je9PEo0xpe9al0NhFcG5YJ4s4usDicsVjQ
|
5
crates/jose/tests/snapshots/jws__es384__sign_jwt.snap
Normal file
5
crates/jose/tests/snapshots/jws__es384__sign_jwt.snap
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
source: crates/jose/tests/jws.rs
|
||||
expression: jwt.as_str()
|
||||
---
|
||||
eyJhbGciOiJFUzM4NCJ9.eyJoZWxsbyI6IndvcmxkIn0.QIX0_gN6orAY32t6gKiDnstNdnBAmf1D5y-000ym-C8Y_MGt-HReODkUIMl7k6FNS1kw1FSbNXhXAPnAfcfgg2rR7oWDWfdxY5D0u1DcFGmhIrU5mxcUG50I_5YHIbe2
|
5
crates/jose/tests/snapshots/jws__ps256__sign_jwt.snap
Normal file
5
crates/jose/tests/snapshots/jws__ps256__sign_jwt.snap
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
source: crates/jose/tests/jws.rs
|
||||
expression: jwt.as_str()
|
||||
---
|
||||
eyJhbGciOiJQUzI1NiJ9.eyJoZWxsbyI6IndvcmxkIn0.CupFwPDQkECCpxd9y0y4hdPccVa387MXe8jMnI5Q0nWwdXqJ9PCyEGOfdBDwFqAfWGYlTkcDjTua81K6tV2ctnFRd9mqs_i1PyhLp8PFO9PcdxtqQKRgA0M4CEA_Yd-7mDFeh4raHgWX6xoNGnEoqrPrp-Vl4jQzdXVpY-J_PKuam_0PlXv-pk3uBW5RD8HU1J8injsUp2FRIJfnOGok4ZnXZqy4_jKkBgu35ymgn011MvLKjHnwTSWteHHc1CVUmJ-txiCaQGWL-6sz0tKdpEpekDCXyygaabn4rDtxm4Be2NeS1Nm852pwzg78SLgxgGPs9uxOx-cH66nWX6Ct9w
|
5
crates/jose/tests/snapshots/jws__ps384__sign_jwt.snap
Normal file
5
crates/jose/tests/snapshots/jws__ps384__sign_jwt.snap
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
source: crates/jose/tests/jws.rs
|
||||
expression: jwt.as_str()
|
||||
---
|
||||
eyJhbGciOiJQUzM4NCJ9.eyJoZWxsbyI6IndvcmxkIn0.IlvyM131OVgUdNUlnAFDC4ZgIUtF_rzM_mOYasKi9WMB6d83AD-CRSnpkCXjSRS6WXx8fcLl5WA5COAMTG7PiDZlCxQ2zWsBn4SF2e8ARAiCsEGkkHhY6r68mXq86bdVD_46RKOnpBBK_DGu_ZHFY7Cjo6SGYol57HKIoGhTi79qQd0tYPdqNYO02KOTsR83-ph5vdEdM4jLg81X7--rH08Zhtnywu1JnmtxEotTvtbwXB1tDTTZvgywzgP63krP44D5hH-PlKLw4Bia_LQkSE4OE1HfDsK1IK4Y7SniJTrTQXp5FVASPrQnF2-lJUz_oDqzTKAv7FXCcCz1iPKbvg
|
5
crates/jose/tests/snapshots/jws__ps512__sign_jwt.snap
Normal file
5
crates/jose/tests/snapshots/jws__ps512__sign_jwt.snap
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
source: crates/jose/tests/jws.rs
|
||||
expression: jwt.as_str()
|
||||
---
|
||||
eyJhbGciOiJQUzUxMiJ9.eyJoZWxsbyI6IndvcmxkIn0.Chyx9_a-dAyy2tB5hgj3SzLCoDSFx7GxO1PnFCrPN0z8pVRpOTrHaHDVlqPq0IjIGwPAcrTpNtwTIJdjNcpck9nyTShOUQya0tAGCrV1hbxR_QLGPayJydq8_treTKHeGxby4RaInM8k_hLz-6136FDiZXSxtZ6p4mCEcWeYiG5WGVqY15YptCuIipsY01Fyrew8djnIgW9bqS0aP9pakQWOIigYavFxhrLzyutgXiNxsNSH8OTCh9UQr62xEePJWsXkZIkSqtQlEnK68qhSgLffinyDtDMS7CAt82Lh0ac3vqRVyM0w4_l2C-auLE1aeAAroAhnc9YLVg0BufvydQ
|
5
crates/jose/tests/snapshots/jws__rs256__sign_jwt.snap
Normal file
5
crates/jose/tests/snapshots/jws__rs256__sign_jwt.snap
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
source: crates/jose/tests/jws.rs
|
||||
expression: jwt.as_str()
|
||||
---
|
||||
eyJhbGciOiJSUzI1NiJ9.eyJoZWxsbyI6IndvcmxkIn0.ji96-idJ7VHafGOGt22nJPVSDC6S2XvZSUFG7TLrjv-_ylINko_9YsI9_-9UZcB5ZtMeCX6Z5eO_9MTaq3Fhcj7mdn_hozZaNseTVgnwkFfTBlF7HcWhBdWbihAoY1YDvhTu-l_L6iBt1KhQh3J6fsfeGB-l3JfygZLKLtM1gsEz2qaZpnM90wESpphvpaJ_rGlWcTu61DGBBB3kOGCgaG2CJypCKp67m2vxFfi7J_2yE-1H2Y9ACWye73TWNuZubXNdo6azqqiJRe9o6oFmuPwkjgld66MdshQWjo3sGPHPI1_V-nhR9AtoizzF-3_YoS9oVwAzL6GiVUzeKpvZfQ
|
5
crates/jose/tests/snapshots/jws__rs384__sign_jwt.snap
Normal file
5
crates/jose/tests/snapshots/jws__rs384__sign_jwt.snap
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
source: crates/jose/tests/jws.rs
|
||||
expression: jwt.as_str()
|
||||
---
|
||||
eyJhbGciOiJSUzM4NCJ9.eyJoZWxsbyI6IndvcmxkIn0.UgY6PfaVQ3Rhz_RvS8YZmCjUIcchejdWcf5zvSRK0ANGB1r2yvcdvGkOeVsFdKW_z7oru_4jTOffLgm8NoYVvg_x44u_z63ENrQTGbO0QLOLZKI4fuEvKDrKpkf2BmSPa-2feKQECVXxCcIiR32Q_zTHJtTIaDV2-hk2W_CEJxCVqLZ4b6l5iI2qLKUS3vERDKdwA2igiA_NElv4KThCtNIoS8TBohwio-M-SV43i-aJHnyn2U6Uw3Gu1mCSIBeRUNoQPXFBFnWY1Pa5TrxPA2jekck9j_xCWOX_jWK1khBW1lMwzYC5Ry24S7QxOcg8l2x8I6J03gB4N651fhcKgQ
|
5
crates/jose/tests/snapshots/jws__rs512__sign_jwt.snap
Normal file
5
crates/jose/tests/snapshots/jws__rs512__sign_jwt.snap
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
source: crates/jose/tests/jws.rs
|
||||
expression: jwt.as_str()
|
||||
---
|
||||
eyJhbGciOiJSUzUxMiJ9.eyJoZWxsbyI6IndvcmxkIn0.HMs8F0DuJbLh0mjhXh5-PE66m8hwjdRP0_ixm_LKmeieAmJrerObyKHtstOdaLO0l_r3XXg2bHjzwGNSn3XF5Gj0RgqRqW6T5X8CO_Kf__0B-lTUfiXpxyLMhb3Vkt9fRa1YZjVix8hGsEx8oerA_xqv1DzgdKNvO4kK_Vzykuz5bgLn2oQR1w1NARCqazmjKh4S9q9XS8BZ-Ke2xTLSOpLP4g67IGyo79Y_BZ0-mOgBWZmPGzJnBGOrv4Lc-Vn3kPNZqREM9DA9IILw1hbCRG6x31pM5u1PESIV1dSuoIaab5A9yfBx1Fr9PRxV-1qHRaRYi06E_q_jxwtPG2oM7w
|
Reference in New Issue
Block a user