package awscognito // Props for UserPoolDomain construct. // // Example: // import "github.com/aws/aws-cdk-go/awscdk" // // var vpc vpc // var certificate certificate // // // lb := elbv2.NewApplicationLoadBalancer(this, jsii.String("LB"), &ApplicationLoadBalancerProps{ // Vpc: Vpc, // InternetFacing: jsii.Boolean(true), // }) // // userPool := awscdk.Aws_cognito.NewUserPool(this, jsii.String("UserPool")) // userPoolClient := awscdk.Aws_cognito.NewUserPoolClient(this, jsii.String("Client"), &UserPoolClientProps{ // UserPool: UserPool, // // // Required minimal configuration for use with an ELB // GenerateSecret: jsii.Boolean(true), // AuthFlows: &AuthFlow{ // UserPassword: jsii.Boolean(true), // }, // OAuth: &OAuthSettings{ // Flows: &OAuthFlows{ // AuthorizationCodeGrant: jsii.Boolean(true), // }, // Scopes: []oAuthScope{ // awscdk.*Aws_cognito.*oAuthScope_EMAIL(), // }, // CallbackUrls: []*string{ // fmt.Sprintf("https://%v/oauth2/idpresponse", lb.LoadBalancerDnsName), // }, // }, // }) // cfnClient := userPoolClient.Node.defaultChild.(cfnUserPoolClient) // cfnClient.AddPropertyOverride(jsii.String("RefreshTokenValidity"), jsii.Number(1)) // cfnClient.AddPropertyOverride(jsii.String("SupportedIdentityProviders"), []interface{}{ // jsii.String("COGNITO"), // }) // // userPoolDomain := awscdk.Aws_cognito.NewUserPoolDomain(this, jsii.String("Domain"), &UserPoolDomainProps{ // UserPool: UserPool, // CognitoDomain: &CognitoDomainOptions{ // DomainPrefix: jsii.String("test-cdk-prefix"), // }, // }) // // lb.AddListener(jsii.String("Listener"), &BaseApplicationListenerProps{ // Port: jsii.Number(443), // Certificates: []iListenerCertificate{ // certificate, // }, // DefaultAction: actions.NewAuthenticateCognitoAction(&AuthenticateCognitoActionProps{ // UserPool: *UserPool, // UserPoolClient: *UserPoolClient, // UserPoolDomain: *UserPoolDomain, // Next: elbv2.ListenerAction_FixedResponse(jsii.Number(200), &FixedResponseOptions{ // ContentType: jsii.String("text/plain"), // MessageBody: jsii.String("Authenticated"), // }), // }), // }) // // awscdk.NewCfnOutput(this, jsii.String("DNS"), &CfnOutputProps{ // Value: lb.*LoadBalancerDnsName, // }) // type UserPoolDomainProps struct { // Associate a cognito prefix domain with your user pool Either `customDomain` or `cognitoDomain` must be specified. // See: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-assign-domain-prefix.html // CognitoDomain *CognitoDomainOptions `field:"optional" json:"cognitoDomain" yaml:"cognitoDomain"` // Associate a custom domain with your user pool Either `customDomain` or `cognitoDomain` must be specified. // See: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-add-custom-domain.html // CustomDomain *CustomDomainOptions `field:"optional" json:"customDomain" yaml:"customDomain"` // The user pool to which this domain should be associated. UserPool IUserPool `field:"required" json:"userPool" yaml:"userPool"` }