mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-28 04:04:55 +08:00
refactor(core): use secrets for connector AuthType in connector integration (#1441)
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
use std::{collections::HashMap, env};
|
||||
|
||||
use masking::{PeekInterface, Secret};
|
||||
use masking::Secret;
|
||||
use router::types::ConnectorAuthType;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
@ -149,25 +149,43 @@ impl ConnectorAuthenticationMap {
|
||||
table.get("key2"),
|
||||
) {
|
||||
(Some(api_key), None, None, None) => ConnectorAuthType::HeaderKey {
|
||||
api_key: api_key.as_str().unwrap_or_default().to_string(),
|
||||
api_key: Secret::new(
|
||||
api_key.as_str().unwrap_or_default().to_string(),
|
||||
),
|
||||
},
|
||||
(Some(api_key), Some(key1), None, None) => ConnectorAuthType::BodyKey {
|
||||
api_key: api_key.as_str().unwrap_or_default().to_string(),
|
||||
key1: key1.as_str().unwrap_or_default().to_string(),
|
||||
api_key: Secret::new(
|
||||
api_key.as_str().unwrap_or_default().to_string(),
|
||||
),
|
||||
key1: Secret::new(key1.as_str().unwrap_or_default().to_string()),
|
||||
},
|
||||
(Some(api_key), Some(key1), Some(api_secret), None) => {
|
||||
ConnectorAuthType::SignatureKey {
|
||||
api_key: api_key.as_str().unwrap_or_default().to_string(),
|
||||
key1: key1.as_str().unwrap_or_default().to_string(),
|
||||
api_secret: api_secret.as_str().unwrap_or_default().to_string(),
|
||||
api_key: Secret::new(
|
||||
api_key.as_str().unwrap_or_default().to_string(),
|
||||
),
|
||||
key1: Secret::new(
|
||||
key1.as_str().unwrap_or_default().to_string(),
|
||||
),
|
||||
api_secret: Secret::new(
|
||||
api_secret.as_str().unwrap_or_default().to_string(),
|
||||
),
|
||||
}
|
||||
}
|
||||
(Some(api_key), Some(key1), Some(api_secret), Some(key2)) => {
|
||||
ConnectorAuthType::MultiAuthKey {
|
||||
api_key: api_key.as_str().unwrap_or_default().to_string(),
|
||||
key1: key1.as_str().unwrap_or_default().to_string(),
|
||||
api_secret: api_secret.as_str().unwrap_or_default().to_string(),
|
||||
key2: key2.as_str().unwrap_or_default().to_string(),
|
||||
api_key: Secret::new(
|
||||
api_key.as_str().unwrap_or_default().to_string(),
|
||||
),
|
||||
key1: Secret::new(
|
||||
key1.as_str().unwrap_or_default().to_string(),
|
||||
),
|
||||
api_secret: Secret::new(
|
||||
api_secret.as_str().unwrap_or_default().to_string(),
|
||||
),
|
||||
key2: Secret::new(
|
||||
key2.as_str().unwrap_or_default().to_string(),
|
||||
),
|
||||
}
|
||||
}
|
||||
_ => ConnectorAuthType::NoKey,
|
||||
@ -191,7 +209,7 @@ pub struct HeaderKey {
|
||||
impl From<HeaderKey> for ConnectorAuthType {
|
||||
fn from(key: HeaderKey) -> Self {
|
||||
Self::HeaderKey {
|
||||
api_key: key.api_key.peek().to_string(),
|
||||
api_key: key.api_key,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -205,8 +223,8 @@ pub struct BodyKey {
|
||||
impl From<BodyKey> for ConnectorAuthType {
|
||||
fn from(key: BodyKey) -> Self {
|
||||
Self::BodyKey {
|
||||
api_key: key.api_key.peek().to_string(),
|
||||
key1: key.key1.peek().to_string(),
|
||||
api_key: key.api_key,
|
||||
key1: key.key1,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -221,9 +239,9 @@ pub struct SignatureKey {
|
||||
impl From<SignatureKey> for ConnectorAuthType {
|
||||
fn from(key: SignatureKey) -> Self {
|
||||
Self::SignatureKey {
|
||||
api_key: key.api_key.peek().to_string(),
|
||||
key1: key.key1.peek().to_string(),
|
||||
api_secret: key.api_secret.peek().to_string(),
|
||||
api_key: key.api_key,
|
||||
key1: key.key1,
|
||||
api_secret: key.api_secret,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -239,10 +257,10 @@ pub struct MultiAuthKey {
|
||||
impl From<MultiAuthKey> for ConnectorAuthType {
|
||||
fn from(key: MultiAuthKey) -> Self {
|
||||
Self::MultiAuthKey {
|
||||
api_key: key.api_key.peek().to_string(),
|
||||
key1: key.key1.peek().to_string(),
|
||||
api_secret: key.api_secret.peek().to_string(),
|
||||
key2: key.key2.peek().to_string(),
|
||||
api_key: key.api_key,
|
||||
key1: key.key1,
|
||||
api_secret: key.api_secret,
|
||||
key2: key.key2,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,6 +4,7 @@ use std::{
|
||||
};
|
||||
|
||||
use clap::{arg, command, Parser};
|
||||
use masking::PeekInterface;
|
||||
use router::types::ConnectorAuthType;
|
||||
use test_utils::connector_auth::ConnectorAuthenticationMap;
|
||||
|
||||
@ -53,14 +54,18 @@ fn main() {
|
||||
if let Some(auth_type) = inner_map.get(&connector_name) {
|
||||
match auth_type {
|
||||
ConnectorAuthType::HeaderKey { api_key } => {
|
||||
newman_command.args(["--env-var", &format!("connector_api_key={api_key}")]);
|
||||
// newman_command.args(["--env-var", &format!("connector_api_key={}", api_key.map(|val| val))]);
|
||||
newman_command.args([
|
||||
"--env-var",
|
||||
&format!("connector_api_key={}", api_key.peek()),
|
||||
]);
|
||||
}
|
||||
ConnectorAuthType::BodyKey { api_key, key1 } => {
|
||||
newman_command.args([
|
||||
"--env-var",
|
||||
&format!("connector_api_key={api_key}"),
|
||||
&format!("connector_api_key={}", api_key.peek()),
|
||||
"--env-var",
|
||||
&format!("connector_key1={key1}"),
|
||||
&format!("connector_key1={}", key1.peek()),
|
||||
]);
|
||||
}
|
||||
ConnectorAuthType::SignatureKey {
|
||||
@ -70,11 +75,11 @@ fn main() {
|
||||
} => {
|
||||
newman_command.args([
|
||||
"--env-var",
|
||||
&format!("connector_api_key={api_key}"),
|
||||
&format!("connector_api_key={}", api_key.peek()),
|
||||
"--env-var",
|
||||
&format!("connector_key1={key1}"),
|
||||
&format!("connector_key1={}", key1.peek()),
|
||||
"--env-var",
|
||||
&format!("connector_api_secret={api_secret}"),
|
||||
&format!("connector_api_secret={}", api_secret.peek()),
|
||||
]);
|
||||
}
|
||||
ConnectorAuthType::MultiAuthKey {
|
||||
@ -85,13 +90,13 @@ fn main() {
|
||||
} => {
|
||||
newman_command.args([
|
||||
"--env-var",
|
||||
&format!("connector_api_key={api_key}"),
|
||||
&format!("connector_api_key={}", api_key.peek()),
|
||||
"--env-var",
|
||||
&format!("connector_key1={key1}"),
|
||||
&format!("connector_key1={}", key1.peek()),
|
||||
"--env-var",
|
||||
&format!("connector_key1={key2}"),
|
||||
&format!("connector_key1={}", key2.peek()),
|
||||
"--env-var",
|
||||
&format!("connector_api_secret={api_secret}"),
|
||||
&format!("connector_api_secret={}", api_secret.peek()),
|
||||
]);
|
||||
}
|
||||
// Handle other ConnectorAuthType variants
|
||||
|
||||
Reference in New Issue
Block a user