mirror of
https://github.com/foss42/apidash.git
synced 2025-12-03 03:17:00 +08:00
feat: enhance oauth1 and oauth2 models to support env variable substitution
This commit is contained in:
@@ -168,7 +168,84 @@ AuthModel? substituteAuthModel(
|
||||
}
|
||||
break;
|
||||
case APIAuthType.oauth1:
|
||||
if (authModel.oauth1 != null) {
|
||||
final oauth1 = authModel.oauth1!;
|
||||
return authModel.copyWith(
|
||||
oauth1: oauth1.copyWith(
|
||||
consumerKey: substituteVariables(oauth1.consumerKey, envVarMap) ??
|
||||
oauth1.consumerKey,
|
||||
consumerSecret:
|
||||
substituteVariables(oauth1.consumerSecret, envVarMap) ??
|
||||
oauth1.consumerSecret,
|
||||
credentialsFilePath:
|
||||
substituteVariables(oauth1.credentialsFilePath, envVarMap) ??
|
||||
oauth1.credentialsFilePath,
|
||||
accessToken: substituteVariables(oauth1.accessToken, envVarMap) ??
|
||||
oauth1.accessToken,
|
||||
tokenSecret: substituteVariables(oauth1.tokenSecret, envVarMap) ??
|
||||
oauth1.tokenSecret,
|
||||
parameterLocation:
|
||||
substituteVariables(oauth1.parameterLocation, envVarMap) ??
|
||||
oauth1.parameterLocation,
|
||||
version: substituteVariables(oauth1.version, envVarMap) ??
|
||||
oauth1.version,
|
||||
realm: substituteVariables(oauth1.realm, envVarMap) ?? oauth1.realm,
|
||||
callbackUrl: substituteVariables(oauth1.callbackUrl, envVarMap) ??
|
||||
oauth1.callbackUrl,
|
||||
verifier: substituteVariables(oauth1.verifier, envVarMap) ??
|
||||
oauth1.verifier,
|
||||
nonce: substituteVariables(oauth1.nonce, envVarMap) ?? oauth1.nonce,
|
||||
timestamp: substituteVariables(oauth1.timestamp, envVarMap) ??
|
||||
oauth1.timestamp,
|
||||
),
|
||||
);
|
||||
}
|
||||
break;
|
||||
case APIAuthType.oauth2:
|
||||
if (authModel.oauth2 != null) {
|
||||
final oauth2 = authModel.oauth2!;
|
||||
return authModel.copyWith(
|
||||
oauth2: oauth2.copyWith(
|
||||
authorizationUrl:
|
||||
substituteVariables(oauth2.authorizationUrl, envVarMap) ??
|
||||
oauth2.authorizationUrl,
|
||||
accessTokenUrl:
|
||||
substituteVariables(oauth2.accessTokenUrl, envVarMap) ??
|
||||
oauth2.accessTokenUrl,
|
||||
clientId: substituteVariables(oauth2.clientId, envVarMap) ??
|
||||
oauth2.clientId,
|
||||
clientSecret: substituteVariables(oauth2.clientSecret, envVarMap) ??
|
||||
oauth2.clientSecret,
|
||||
credentialsFilePath:
|
||||
substituteVariables(oauth2.credentialsFilePath, envVarMap) ??
|
||||
oauth2.credentialsFilePath,
|
||||
redirectUrl: substituteVariables(oauth2.redirectUrl, envVarMap) ??
|
||||
oauth2.redirectUrl,
|
||||
scope: substituteVariables(oauth2.scope, envVarMap) ?? oauth2.scope,
|
||||
state: substituteVariables(oauth2.state, envVarMap) ?? oauth2.state,
|
||||
codeChallengeMethod:
|
||||
substituteVariables(oauth2.codeChallengeMethod, envVarMap) ??
|
||||
oauth2.codeChallengeMethod,
|
||||
codeVerifier: substituteVariables(oauth2.codeVerifier, envVarMap) ??
|
||||
oauth2.codeVerifier,
|
||||
codeChallenge:
|
||||
substituteVariables(oauth2.codeChallenge, envVarMap) ??
|
||||
oauth2.codeChallenge,
|
||||
username: substituteVariables(oauth2.username, envVarMap) ??
|
||||
oauth2.username,
|
||||
password: substituteVariables(oauth2.password, envVarMap) ??
|
||||
oauth2.password,
|
||||
refreshToken: substituteVariables(oauth2.refreshToken, envVarMap) ??
|
||||
oauth2.refreshToken,
|
||||
identityToken:
|
||||
substituteVariables(oauth2.identityToken, envVarMap) ??
|
||||
oauth2.identityToken,
|
||||
accessToken: substituteVariables(oauth2.accessToken, envVarMap) ??
|
||||
oauth2.accessToken,
|
||||
),
|
||||
);
|
||||
}
|
||||
break;
|
||||
case APIAuthType.none:
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user