FEAT: snowflake sso

This commit is contained in:
Arthur Simas
2022-08-02 15:27:18 -03:00
parent 3bea2e4cda
commit 6382939e1e
2 changed files with 22 additions and 0 deletions
+15
View File
@@ -21,9 +21,15 @@ import {
AuthVerifyTotpMfaRequest,
} from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/messages';
import { PERMISSIONS } from 'src/authentication/permissions.enum';
import {
Authenticated,
RequireAllPermissions,
} from 'src/authentication/authentication.decorator';
import { AuthClientService } from './auth.service';
import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import { GrpcToHttpExceptionFilter } from '../../error/grpc-to-http-exception.filter';
import { RequestUser, User } from 'src/authentication/user.decorator';
@ApiTags('Auth')
@UseFilters(new GrpcToHttpExceptionFilter())
@@ -39,6 +45,15 @@ export class AuthController {
this.logger = dadosferaLogger.logger;
}
@Post('/sso/snowflake')
@RequireAllPermissions(PERMISSIONS.SNOWFLAKE.permissions.OPEN)
@HttpCode(HttpStatus.OK)
async snowflakeSignIn(@User() user: RequestUser) {
this.logger.info('/auth - snowflakeSignIn');
return this.authClient.snowflakeSignIn({ userId: user.user_id });
}
@Post('sign-in')
@HttpCode(HttpStatus.OK)
async signIn(@Body() { username, password, totp }: AuthSignInRequest) {
+7
View File
@@ -6,6 +6,7 @@ import { lastValueFrom } from 'rxjs';
import { ProtoServices } from '@dadosfera/protospack-v2/dist/lib/Duc';
import { AuthProtoService as AuthServiceInterface } from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/write-service';
import {
AuthSnowflakeSignInRequest,
AuthSignInRequest,
AuthRefreshAccessTokenRequest,
AuthEnableTotpMfaRequest,
@@ -43,6 +44,12 @@ export class AuthClientService implements OnModuleInit {
return lastValueFrom(this.authService.AuthGetPublicKeys({}));
}
async snowflakeSignIn(input: AuthSnowflakeSignInRequest) {
this.logger.info('snowflakeSignIn');
return lastValueFrom(this.authService.AuthSnowflakeSignIn(input));
}
async signIn({ username, password, totp }: AuthSignInRequest) {
this.logger.info('SignIn');