import {VerifyFunction} from '@bleco/authentication'; import {BindingKey} from '@loopback/core'; import {Role, Tenant} from '@loopx/user-core'; import {PreSignupFn, UserSignupFn} from '../types'; import {AuthCodeGeneratorProvider} from './auth-code-generator.provider'; import {AuthPagesProvider} from './auth-pages.provider'; import { ApplePostVerifyFn, ApplePreVerifyFn, AppleSignUpFn, AuthaPostVerifyFn, AuthaPreVerifyFn, AuthaSignUpFn, AzureAdPostVerifyFn, AzureAdPreVerifyFn, AzureAdSignUpFn, CodeReaderFn, CodeWriterFn, CognitoPostVerifyFn, CognitoPreVerifyFn, CognitoSignUpFn, FacebookPostVerifyFn, FacebookPreVerifyFn, FacebookSignUpFn, GooglePostVerifyFn, GooglePreVerifyFn, GoogleSignUpFn, InstagramPostVerifyFn, InstagramPreVerifyFn, InstagramSignUpFn, JWTSignerFn, JWTVerifierFn, KeyCloakPostVerifyFn, KeyCloakPreVerifyFn, KeyCloakSignUpFn, MfaCheckFn, OtpFn, OtpGenerateFn, OtpSenderFn, SignupTokenHandlerFn, } from './types'; export namespace SignUpBindings { export const GOOGLE_SIGN_UP_PROVIDER = BindingKey.create('loopx.google.signup.provider'); export const INSTAGRAM_SIGN_UP_PROVIDER = BindingKey.create('loopx.instagram.signup.provider'); export const APPLE_SIGN_UP_PROVIDER = BindingKey.create('loopx.apple.signup.provider'); export const FACEBOOK_SIGN_UP_PROVIDER = BindingKey.create('loopx.facebook.signup.provider'); export const KEYCLOAK_SIGN_UP_PROVIDER = BindingKey.create('loopx.keycloak.signup.provider'); export const AZURE_AD_SIGN_UP_PROVIDER = BindingKey.create('loopx.azuread.signup.provider'); export const COGNITO_SIGN_UP_PROVIDER = BindingKey.create('loopx.cognito.signup.provider'); export const AUTHA_SIGNUP_PROVIDER = BindingKey.create('loopx.autha.signup.provider'); export const PRE_LOCAL_SIGNUP_PROVIDER = BindingKey.create< // eslint-disable-next-line @typescript-eslint/no-explicit-any PreSignupFn //NOSONAR >(`loopx.local.presignup.provider`); export const LOCAL_SIGNUP_PROVIDER = BindingKey.create< // eslint-disable-next-line @typescript-eslint/no-explicit-any UserSignupFn //NOSONAR >(`loopx.local.signup.provider`); export const SIGNUP_HANDLER_PROVIDER = BindingKey.create(`loopx.local.signup.handler.provider`); } export namespace VerifyBindings { export const GOOGLE_PRE_VERIFY_PROVIDER = BindingKey.create('loopx.google.preverify.provider'); export const GOOGLE_POST_VERIFY_PROVIDER = BindingKey.create('loopx.google.postverify.provider'); export const INSTAGRAM_POST_VERIFY_PROVIDER = BindingKey.create( 'loopx.instgram.postverify.provider', ); export const INSTAGRAM_PRE_VERIFY_PROVIDER = BindingKey.create( 'loopx.instagram.preverify.provider', ); export const APPLE_PRE_VERIFY_PROVIDER = BindingKey.create('loopx.apple.preverify.provider'); export const APPLE_POST_VERIFY_PROVIDER = BindingKey.create('loopx.apple.postverify.provider'); export const FACEBOOK_POST_VERIFY_PROVIDER = BindingKey.create( 'loopx.facebook.postverify.provider', ); export const FACEBOOK_PRE_VERIFY_PROVIDER = BindingKey.create( 'loopx.facebook.preverify.provider', ); export const KEYCLOAK_PRE_VERIFY_PROVIDER = BindingKey.create( 'loopx.keycloak.preverify.provider', ); export const KEYCLOAK_POST_VERIFY_PROVIDER = BindingKey.create( 'loopx.keycloak.postverify.provider', ); export const COGNITO_PRE_VERIFY_PROVIDER = BindingKey.create('loopx.cognito.preverify.provider'); export const COGNITO_POST_VERIFY_PROVIDER = BindingKey.create( 'loopx.cognito.postverify.provider', ); export const OTP_PROVIDER = BindingKey.create('loopx.otp.provider'); export const OTP_GENERATE_PROVIDER = BindingKey.create('loopx.otp.generate.provider'); export const OTP_SENDER_PROVIDER = BindingKey.create('loopx.otp.sender.provider'); export const OTP_EMAIL_SENDER_PROVIDER = BindingKey.create('loopx.otp.email.sender.provider'); export const OTP_SMS_SENDER_PROVIDER = BindingKey.create('loopx.otp.sms.sender.provider'); export const PASSWORDLESS_VERIFIER = BindingKey.create( 'loopx.passwordless.verifier.provider', ); export const MFA_PROVIDER = BindingKey.create('loopx.mfa.check.provider'); export const BEARER_SIGNUP_VERIFY_PROVIDER = BindingKey.create( `loopx.bearer.signupverify.provider`, ); export const AZURE_AD_PRE_VERIFY_PROVIDER = BindingKey.create('loopx.azure.preverify.provider'); export const AZURE_AD_POST_VERIFY_PROVIDER = BindingKey.create( 'loopx.azure.postverify.provider', ); export const AUTHA_PRE_VERIFY_PROVIDER = BindingKey.create('loopx.autha.preverify.provider'); export const AUTHA_POST_VERIFY_PROVIDER = BindingKey.create('loopx.autha.postverify.provider'); } export namespace AuthCodeBindings { export const CODEWRITER_PROVIDER = BindingKey.create('loopx.auth.codewriter.provider'); export const CODEREADER_PROVIDER = BindingKey.create('loopx.auth.codereader.provider'); export const AUTH_CODE_GENERATOR_PROVIDER = BindingKey.create( 'loopx.auth-code.generator.provider', ); export const JWT_SIGNER = BindingKey.create>('loopx.auth-token.generator.provider'); export const JWT_VERIFIER = BindingKey.create>('loopx.auth-token.verifier.provider'); } export namespace AuthEntityBindings { export const DEFAULT_TENANT = BindingKey.create(`loopx.auth.default-tenant`); export const DEFAULT_ROLE = BindingKey.create(`loopx.auth.default-role`); } export namespace AuthPageBindings { export const AUTH_PAGES_PROVIDER = BindingKey.create('loopx.auth.pages.provider'); }