1.0.0 • Published 2 years ago

@liflig/cdk-cloudfront-auth v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

CloudFront authorization with Cognito for CDK

Easily add Cognito-based authorization to your CloudFront distribution, to place static files behind authorization.

This is based on https://github.com/aws-samples/cloudfront-authorization-at-edge.

Usage

npm install @liflig/cdk-cloudfront-auth

Deploy the Lambda@Edge functions to us-east-1:

// In a stack deployed to us-east-1.
const authLambdas = new AuthLambdas(this, "AuthLambdas", {
  regions: ["eu-west-1"], // Regions to make Lambda version params available.
})

Deploy the Cognito and CloudFront setup in whatever region of your choice:

const auth = new CloudFrontAuth(this, "Auth", {
  cognitoAuthDomain: `${domain.domainName}.auth.${region}.amazoncognito.com`,
  authLambdas, // AuthLambdas from above
  userPool, // Cognito User Pool
})
const distribution = new cloudfront.Distribution(this, "Distribution", {
  defaultBehavior: auth.createProtectedBehavior(origin),
  additionalBehaviors: auth.createAuthPagesBehaviors(origin),
})
auth.updateClient("ClientUpdate", {
  signOutUrl: `https://${distribution.distributionDomainName}${auth.signOutRedirectTo}`,
  callbackUrl: `https://${distribution.distributionDomainName}${auth.callbackPath}`,
})

If using CloudFrontWebDistribution instead of Distribution:

const distribution = new cloudfront.CloudFrontWebDistribution(this, "Distribution", {
  originConfigs: [
    {
      behaviors: [
        ...auth.authPages,
        {
          isDefaultBehavior: true,
          lambdaFunctionAssociations: auth.authFilters,
        },
      ],
    },
  ],
})

Customizing authorization

The CloudFrontAuth construct accepts a requireGroupAnyOf property that causes access to be restricted to only users in specific groups.

1.6.116

1 year ago

1.6.115

1 year ago

1.6.118

12 months ago

1.6.117

12 months ago

1.6.119

12 months ago

1.6.4

1 year ago

1.6.3

1 year ago

1.6.2

1 year ago

1.6.1

1 year ago

1.6.0

1 year ago

1.6.121

12 months ago

1.6.120

12 months ago

1.6.123

11 months ago

1.6.122

12 months ago

1.6.125

11 months ago

1.6.124

11 months ago

1.6.105

1 year ago

1.6.104

1 year ago

1.6.107

1 year ago

1.6.106

1 year ago

1.6.109

1 year ago

1.6.108

1 year ago

1.6.110

1 year ago

1.6.112

1 year ago

1.6.111

1 year ago

1.6.114

1 year ago

1.6.113

1 year ago

1.6.101

1 year ago

1.6.100

1 year ago

1.6.103

1 year ago

1.6.102

1 year ago

1.6.9

1 year ago

1.6.8

1 year ago

1.6.7

1 year ago

1.6.6

1 year ago

1.6.5

1 year ago

1.6.80

1 year ago

1.6.82

1 year ago

1.6.81

1 year ago

1.6.84

1 year ago

1.6.83

1 year ago

1.6.86

1 year ago

1.6.85

1 year ago

1.6.88

1 year ago

1.6.87

1 year ago

1.6.89

1 year ago

1.6.91

1 year ago

1.6.90

1 year ago

1.6.93

1 year ago

1.6.92

1 year ago

1.6.95

1 year ago

1.6.94

1 year ago

1.6.97

1 year ago

1.6.96

1 year ago

1.6.99

1 year ago

1.6.98

1 year ago

1.6.60

1 year ago

1.6.62

1 year ago

1.6.61

1 year ago

1.6.64

1 year ago

1.6.63

1 year ago

1.6.66

1 year ago

1.6.65

1 year ago

1.6.68

1 year ago

1.6.67

1 year ago

1.6.69

1 year ago

1.6.127

11 months ago

1.6.126

11 months ago

1.6.129

11 months ago

1.6.128

11 months ago

1.6.71

1 year ago

1.6.70

1 year ago

1.6.73

1 year ago

1.6.72

1 year ago

1.6.75

1 year ago

1.6.74

1 year ago

1.6.77

1 year ago

1.6.76

1 year ago

1.6.79

1 year ago

1.6.78

1 year ago

1.6.130

11 months ago

1.6.132

11 months ago

1.6.131

11 months ago

1.6.134

10 months ago

1.6.133

10 months ago

1.6.40

1 year ago

1.6.42

1 year ago

1.6.41

1 year ago

1.6.44

1 year ago

1.6.43

1 year ago

1.6.46

1 year ago

1.6.45

1 year ago

1.6.48

1 year ago

1.6.47

1 year ago

1.6.49

1 year ago

1.6.51

1 year ago

1.6.50

1 year ago

1.6.53

1 year ago

1.6.52

1 year ago

1.6.55

1 year ago

1.6.54

1 year ago

1.6.57

1 year ago

1.6.56

1 year ago

1.6.59

1 year ago

1.6.58

1 year ago

1.6.20

1 year ago

1.6.22

1 year ago

1.6.21

1 year ago

1.6.24

1 year ago

1.6.23

1 year ago

1.6.26

1 year ago

1.6.25

1 year ago

1.6.28

1 year ago

1.6.27

1 year ago

1.6.29

1 year ago

1.6.31

1 year ago

1.6.30

1 year ago

1.6.33

1 year ago

1.6.32

1 year ago

1.6.35

1 year ago

1.6.34

1 year ago

1.6.37

1 year ago

1.6.36

1 year ago

1.6.39

1 year ago

1.6.38

1 year ago

1.6.11

1 year ago

1.6.10

1 year ago

1.6.13

1 year ago

1.6.12

1 year ago

1.6.15

1 year ago

1.6.14

1 year ago

1.6.17

1 year ago

1.6.16

1 year ago

1.6.19

1 year ago

1.6.18

1 year ago

1.5.43

1 year ago

1.5.42

1 year ago

1.5.41

2 years ago

1.5.30

2 years ago

1.5.32

2 years ago

1.5.31

2 years ago

1.5.34

2 years ago

1.5.33

2 years ago

1.5.36

2 years ago

1.5.35

2 years ago

1.5.38

2 years ago

1.5.37

2 years ago

1.5.39

2 years ago

1.5.40

2 years ago

1.5.29

2 years ago

1.5.28

2 years ago

1.5.27

2 years ago

1.5.26

2 years ago

1.5.25

2 years ago

1.5.24

2 years ago

1.5.23

2 years ago

1.5.22

2 years ago

1.5.21

2 years ago

1.5.20

2 years ago

1.5.19

2 years ago

1.5.18

2 years ago

1.5.17

2 years ago

1.5.16

2 years ago

1.5.15

2 years ago

1.5.14

2 years ago

1.5.13

2 years ago

1.5.12

2 years ago

1.5.11

2 years ago

1.5.10

2 years ago

1.5.9

2 years ago

1.5.8

2 years ago

1.5.7

2 years ago

1.5.6

2 years ago

1.5.5

2 years ago

1.5.4

2 years ago

1.5.3

2 years ago

1.5.2

2 years ago

1.5.1

2 years ago

1.5.0

2 years ago

1.4.24

2 years ago

1.4.23

2 years ago

1.4.22

2 years ago

1.4.21

2 years ago

1.4.20

2 years ago

1.4.19

2 years ago

1.4.18

2 years ago

1.4.17

2 years ago

1.4.16

2 years ago

1.4.15

2 years ago

1.4.14

2 years ago

1.4.13

2 years ago

1.4.12

2 years ago

1.4.11

2 years ago

1.4.10

2 years ago

1.4.9

2 years ago

1.4.8

2 years ago

1.4.7

2 years ago

1.4.6

2 years ago

1.4.5

2 years ago

1.4.4

2 years ago

1.4.3

2 years ago

1.4.2

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.0

2 years ago

1.1.0

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago