secret as string and not bytes

main
Hannaeko 2021-03-27 13:31:14 -04:00
parent 759bf0cb4d
commit 853b760968
2 changed files with 3 additions and 12 deletions

View File

@ -20,20 +20,11 @@ pub struct DnsConfig {
#[derive(Debug, Deserialize)]
pub struct WebAppConfig {
#[serde(deserialize_with = "from_base64")]
pub secret: Vec<u8>,
pub secret: String,
#[serde(deserialize_with = "from_duration")]
pub token_duration: Duration,
}
fn from_base64<'de, D>(deserializer: D) -> Result<Vec<u8>, D::Error>
where D: Deserializer<'de>
{
use serde::de::Error;
String::deserialize(deserializer)
.and_then(|string| base64::decode(&string).map_err(|err| Error::custom(err.to_string())))
}
fn from_duration<'de, D>(deserializer: D) -> Result<Duration, D::Error>
where D: Deserializer<'de>
{

View File

@ -200,7 +200,7 @@ impl AuthClaims {
}
}
pub fn encode(self, secret: &[u8]) -> JwtResult<String> {
encode(&Header::default(), &self, &EncodingKey::from_secret(&secret))
pub fn encode(self, secret: &str) -> JwtResult<String> {
encode(&Header::default(), &self, &EncodingKey::from_secret(secret.as_bytes()))
}
}