Commit 95908d1
committed
fix(jwe): pass non-JWE tokens through and constrain the decryption alg pin
Address review feedback on JWE:
- decryptAccessToken now returns non-JWE tokens (not five compact parts)
unchanged instead of throwing. Toggling Token Encryption off, a mid-rollout
mismatch, or an opaque-token audience no longer turns every login and refresh
into a hard 500.
- Constrain accessTokenDecryptionAlg to the strong-algorithm allowlist at the
config layer (defense in depth), mirroring the runtime allowlist.
- Add tests: an off-allowlist alg (A128KW) is rejected, non-JWE and opaque tokens
pass through, and the clear-error path now uses a genuine JWE with a wrong key.1 parent 8bb1d42 commit 95908d1
4 files changed
Lines changed: 108 additions & 28 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
341 | 341 | | |
342 | 342 | | |
343 | 343 | | |
344 | | - | |
345 | | - | |
346 | | - | |
347 | | - | |
348 | | - | |
349 | | - | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
350 | 355 | | |
351 | 356 | | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
352 | 361 | | |
353 | 362 | | |
354 | 363 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
53 | 67 | | |
54 | 68 | | |
55 | 69 | | |
| |||
390 | 404 | | |
391 | 405 | | |
392 | 406 | | |
393 | | - | |
394 | | - | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
395 | 412 | | |
396 | 413 | | |
397 | 414 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1862 | 1862 | | |
1863 | 1863 | | |
1864 | 1864 | | |
1865 | | - | |
1866 | | - | |
| 1865 | + | |
| 1866 | + | |
| 1867 | + | |
| 1868 | + | |
| 1869 | + | |
| 1870 | + | |
| 1871 | + | |
| 1872 | + | |
| 1873 | + | |
| 1874 | + | |
| 1875 | + | |
1867 | 1876 | | |
1868 | 1877 | | |
1869 | 1878 | | |
1870 | | - | |
| 1879 | + | |
1871 | 1880 | | |
1872 | 1881 | | |
1873 | 1882 | | |
1874 | | - | |
| 1883 | + | |
1875 | 1884 | | |
1876 | 1885 | | |
1877 | 1886 | | |
| |||
1892 | 1901 | | |
1893 | 1902 | | |
1894 | 1903 | | |
| 1904 | + | |
| 1905 | + | |
| 1906 | + | |
| 1907 | + | |
| 1908 | + | |
| 1909 | + | |
| 1910 | + | |
| 1911 | + | |
| 1912 | + | |
| 1913 | + | |
| 1914 | + | |
| 1915 | + | |
| 1916 | + | |
| 1917 | + | |
| 1918 | + | |
| 1919 | + | |
| 1920 | + | |
| 1921 | + | |
| 1922 | + | |
| 1923 | + | |
| 1924 | + | |
| 1925 | + | |
| 1926 | + | |
| 1927 | + | |
| 1928 | + | |
| 1929 | + | |
1895 | 1930 | | |
1896 | 1931 | | |
1897 | 1932 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
907 | 907 | | |
908 | 908 | | |
909 | 909 | | |
910 | | - | |
| 910 | + | |
911 | 911 | | |
912 | 912 | | |
913 | | - | |
914 | | - | |
915 | | - | |
916 | | - | |
917 | | - | |
918 | | - | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
919 | 917 | | |
| 918 | + | |
920 | 919 | | |
921 | 920 | | |
922 | | - | |
923 | | - | |
| 921 | + | |
| 922 | + | |
924 | 923 | | |
925 | | - | |
926 | | - | |
927 | | - | |
928 | | - | |
929 | | - | |
930 | | - | |
931 | | - | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
932 | 928 | | |
| 929 | + | |
933 | 930 | | |
934 | 931 | | |
935 | 932 | | |
| |||
969 | 966 | | |
970 | 967 | | |
971 | 968 | | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
| 990 | + | |
972 | 991 | | |
973 | 992 | | |
0 commit comments