mirror of
https://github.com/TECHNOFAB11/jwt-authorizer.git
synced 2025-12-12 08:00:07 +01:00
Revert "fix: bad jwk panic"
This reverts commit ed386ec972.
reverting because alg is optional in jwk spec (RFC7517#section-4.4), algs needed for validation can be "guessed" from the key type
This commit is contained in:
parent
bc90802639
commit
d740102908
1 changed files with 2 additions and 29 deletions
|
|
@ -1,6 +1,6 @@
|
|||
use std::{str::FromStr, sync::Arc};
|
||||
|
||||
use jsonwebtoken::{errors::ErrorKind, jwk::Jwk, Algorithm, DecodingKey, Header};
|
||||
use jsonwebtoken::{jwk::Jwk, Algorithm, DecodingKey, Header};
|
||||
|
||||
use crate::error::AuthError;
|
||||
|
||||
|
|
@ -29,13 +29,7 @@ impl KeyData {
|
|||
pub fn from_jwk(key: &Jwk) -> Result<KeyData, jsonwebtoken::errors::Error> {
|
||||
Ok(KeyData {
|
||||
kid: key.common.key_id.clone(),
|
||||
alg: vec![Algorithm::from_str(
|
||||
key.common
|
||||
.key_algorithm
|
||||
.ok_or(jsonwebtoken::errors::Error::from(ErrorKind::MissingAlgorithm))?
|
||||
.to_string()
|
||||
.as_str(),
|
||||
)?],
|
||||
alg: vec![Algorithm::from_str(key.common.key_algorithm.unwrap().to_string().as_str())?],
|
||||
key: DecodingKey::from_jwk(key)?,
|
||||
})
|
||||
}
|
||||
|
|
@ -88,24 +82,3 @@ impl KeySource {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use jsonwebtoken::{errors::ErrorKind, jwk::Jwk};
|
||||
|
||||
use super::KeyData;
|
||||
|
||||
#[test]
|
||||
fn key_data_no_alg() {
|
||||
// NO ALG should result in ErrorKind::MissingAlgorithm
|
||||
let jwk_ko: Jwk = serde_json::from_str( r#"{
|
||||
"kty": "RSA",
|
||||
"n": "2pQeZdxa7q093K7bj5h6-leIpxfTnuAxzXdhjfGEJHxmt2ekHyCBWWWXCBiDn2RTcEBcy6gZqOW45Uy_tw-5e-Px1xFj1PykGEkRlOpYSAeWsNaAWvvpGB9m4zQ0PgZeMDDXE5IIBrY6YAzmGQxV-fcGGLhJnXl0-5_z7tKC7RvBoT3SGwlc_AmJqpFtTpEBn_fDnyqiZbpcjXYLExFpExm41xDitRKHWIwfc3dV8_vlNntlxCPGy_THkjdXJoHv2IJmlhvmr5_h03iGMLWDKSywxOol_4Wc1BT7Hb6byMxW40GKwSJJ4p7W8eI5mqggRHc8jlwSsTN9LZ2VOvO-XiVShZRVg7JeraGAfWwaIgIJ1D8C1h5Pi0iFpp2suxpHAXHfyLMJXuVotpXbDh4NDX-A4KRMgaxcfAcui_x6gybksq6gF90-9nfQfmVMVJctZ6M-FvRr-itd1Nef5WAtwUp1qyZygAXU3cH3rarscajmurOsP6dE1OHl3grY_eZhQxk33VBK9lavqNKPg6Q_PLiq1ojbYBj3bcYifJrsNeQwxldQP83aWt5rGtgZTehKVJwa40Uy_Grae1iRnsDtdSy5sTJIJ6EiShnWAdMoGejdiI8vpkjrdU8SWH8lv1KXI54DsbyAuke2cYz02zPWc6JEotQqI0HwhzU0KHyoY4s",
|
||||
"e": "AQAB",
|
||||
"kid": "rsa01",
|
||||
"use": "sig"
|
||||
}"#).unwrap();
|
||||
let ks = KeyData::from_jwk(&jwk_ko);
|
||||
assert_eq!(ks.err().unwrap().kind(), &ErrorKind::MissingAlgorithm);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue