get oauth secrets from secrets manager

This commit is contained in:
Gabriel Rosa
2022-06-22 17:51:30 -03:00
parent ff2b8fae6f
commit b850596d64
4 changed files with 1636 additions and 1 deletions
+1600
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -24,6 +24,7 @@
"test:e2e": "jest --config ./test/jest-e2e.json"
},
"dependencies": {
"@aws-sdk/client-secrets-manager": "^3.112.0",
"@grpc/grpc-js": "^1.5.10",
"@grpc/proto-loader": "^0.6.9",
"@nestjs/common": "^8.4.3",
+6 -1
View File
@@ -22,18 +22,23 @@ import {
objectSnakeToCamel,
} from 'src/utils/CaseConverter';
import { mustache } from 'src/utils/mustache';
import { OauthScrets } from 'src/utils/OauthSecrets';
import { URLSearchParams } from 'url';
import { IIdRequest, UpdateInputRequest } from './interfaces';
export class InputsClientService implements OnModuleInit {
private inputService: InputService;
oauthSecrets: OauthScrets;
constructor(
@Inject('INPUTS_PACKAGE') private readonly grpcClient: ClientGrpc,
) {}
onModuleInit() {
async onModuleInit() {
this.inputService =
this.grpcClient.getService<InputService>('InputService');
this.oauthSecrets = new OauthScrets();
await this.oauthSecrets.init();
console.log(this.oauthSecrets);
}
async newCreate(createInputDto: InputNewCreateRequest) {
+29
View File
@@ -0,0 +1,29 @@
import {
SecretsManagerClient,
GetSecretValueCommand,
} from '@aws-sdk/client-secrets-manager';
class OauthSecretsObject {
client_id: string;
client_secret: string;
redirect_uri: string;
}
export class OauthScrets {
hubspot = new OauthSecretsObject();
google = new OauthSecretsObject();
mailchimp = new OauthSecretsObject();
async init() {
const path = process.env.SM_OAUTH_PATH;
const secretsManagerClient = new SecretsManagerClient({});
for (const key in this) {
const getSecretComand = new GetSecretValueCommand({
SecretId: `${path}/${key}`,
});
const res = await secretsManagerClient
.send(getSecretComand)
.catch(() => null);
if (res) this[key] = JSON.parse(res.SecretString);
}
}
}