mirror of
https://github.com/dadosfera/maestro.git
synced 2026-11-11 06:59:07 +00:00
FEAT: list identity providers link for sso
This commit is contained in:
@@ -6062,6 +6062,24 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/identity-providers/links": {
|
||||
"get": {
|
||||
"operationId": "IdentityProviderController_providerLinks",
|
||||
"parameters": [],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/network-policy": {
|
||||
"get": {
|
||||
"operationId": "NetworkPolicyController_getNetworks",
|
||||
@@ -6370,12 +6388,16 @@
|
||||
"refreshToken": {
|
||||
"type": "string"
|
||||
},
|
||||
"accessToken": {
|
||||
"type": "string"
|
||||
},
|
||||
"customerName": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"refreshToken",
|
||||
"accessToken",
|
||||
"customerName"
|
||||
]
|
||||
},
|
||||
|
||||
Generated
+4
-4
@@ -12,7 +12,7 @@
|
||||
"@aws-sdk/client-secrets-manager": "^3.414.0",
|
||||
"@dadosfera/dadosfera-logs": "^1.0.0-beta.4",
|
||||
"@dadosfera/protospack": "2.5.3",
|
||||
"@dadosfera/protospack-v2": "3.38.0-beta.7",
|
||||
"@dadosfera/protospack-v2": "3.38.0-beta.8",
|
||||
"@grpc/grpc-js": "^1.9.3",
|
||||
"@grpc/proto-loader": "^0.7.9",
|
||||
"@nestjs/cli": "^9.5.0",
|
||||
@@ -1407,9 +1407,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@dadosfera/protospack-v2": {
|
||||
"version": "3.38.0-beta.7",
|
||||
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.38.0-beta.7.tgz",
|
||||
"integrity": "sha512-Lp+hW/F/F9gMtrwBJCpFS8ekVfpEP4av8u8OQKSnTz8Cxc7MXC7OxD1BdKi0m05GuVpWEa5aCe+ZLWq0mhhjDw==",
|
||||
"version": "3.38.0-beta.8",
|
||||
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.38.0-beta.8.tgz",
|
||||
"integrity": "sha512-8hEJnfFtKKLn7DqvkOi27GpXZkin6PodTvFbQJIplzcsxuurWNmtvWDmNRavm/SYJcotv4kTJkxnCPOKJqYYpA==",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@grpc/grpc-js": "^1.9.3",
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@
|
||||
"@aws-sdk/client-secrets-manager": "^3.414.0",
|
||||
"@dadosfera/dadosfera-logs": "^1.0.0-beta.4",
|
||||
"@dadosfera/protospack": "2.5.3",
|
||||
"@dadosfera/protospack-v2": "3.38.0-beta.7",
|
||||
"@dadosfera/protospack-v2": "3.38.0-beta.8",
|
||||
"@grpc/grpc-js": "^1.9.3",
|
||||
"@grpc/proto-loader": "^0.7.9",
|
||||
"@nestjs/cli": "^9.5.0",
|
||||
|
||||
@@ -144,6 +144,21 @@ export class IdentityProviderController {
|
||||
return await this.identityProviderService.getTokenByIdp(code, state);
|
||||
}
|
||||
|
||||
@Get('/links')
|
||||
@HttpCode(HttpStatus.OK)
|
||||
async providerLinks(@Req() req: Request) {
|
||||
this.logger.info('GET /identity-providers/links');
|
||||
|
||||
const frontDomain = req.headers['origin'] as string;
|
||||
|
||||
if (!frontDomain) {
|
||||
throw new Error(ErrorCodes.IDENTITY_PROVIDER.INVALID_HEADER);
|
||||
}
|
||||
|
||||
const result = await this.identityProviderService.identityProvidersLinksPerDomain(frontDomain);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Get(':id')
|
||||
@HttpCode(HttpStatus.OK)
|
||||
@Redirect()
|
||||
@@ -156,4 +171,5 @@ export class IdentityProviderController {
|
||||
url: redirectUrl,
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -153,4 +153,10 @@ export class IdentityProviderService implements OnModuleInit {
|
||||
);
|
||||
}
|
||||
|
||||
async identityProvidersLinksPerDomain(frontDomain: string) {
|
||||
return await lastValueFrom(
|
||||
this.identityProviderService.GetProviderLinksFromDomain({ frontDomain }),
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -77,6 +77,7 @@ const CATALOG = {
|
||||
};
|
||||
const IDENTITY_PROVIDER = {
|
||||
INVALID_RESPONSE: 'IDENTITY_PROVIDER.INVALID_RESPONSE',
|
||||
INVALID_HEADER: 'IDENTITY_PROVIDER.INVALID_HEADER',
|
||||
}
|
||||
const ErrorCodes = {
|
||||
UNKNOWN: 'UNKNOWN',
|
||||
|
||||
Reference in New Issue
Block a user