import { IsArray , IsBoolean , IsIn , IsString , IsUrl , MinLength , } from 'class-validator' ; const SUPPORTED_SIG_ALG = [ 'ES256' , 'RS256' , 'HS256' ] ; export class ServiceProviderAdapterEnvConfig { @ IsBoolean ( ) readonly active : boolean ; @ IsString ( ) readonly client_id : string ; @ IsString ( ) readonly name : string ; @ IsString ( ) @ MinLength ( 32 ) readonly client_secret : string ; @ IsArray ( ) @ IsUrl ( { } , { each : true } ) readonly redirect_uris : string [ ] ; @ IsArray ( ) @ IsUrl ( { } , { each : true } ) readonly post_logout_redirect_uris : string [ ] ; @ IsString ( ) readonly scope : string ; @ IsString ( ) @ IsIn ( SUPPORTED_SIG_ALG ) readonly id_token_signed_response_alg : 'ES256' | 'RS256' | 'HS256' ; @ IsString ( ) readonly id_token_encrypted_response_alg : string ; @ IsString ( ) readonly id_token_encrypted_response_enc : string ; @ IsString ( ) readonly userinfo_signed_response_alg : string ; @ IsString ( ) readonly userinfo_encrypted_response_alg : string ; @ IsString ( ) readonly userinfo_encrypted_response_enc : string ; @ IsUrl ( ) readonly jwks_uri : string ; }