sst 3.0.0 → 3.0.1-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +7 -139
- package/src/index.ts +1 -0
- package/src/resource.ts +15 -0
- package/tsconfig.json +11 -0
- package/LICENSE +0 -21
- package/README.md +0 -43
- package/bootstrap.d.ts +0 -5
- package/bootstrap.js +0 -318
- package/bus.d.ts +0 -20
- package/bus.js +0 -52
- package/cache.d.ts +0 -4
- package/cache.js +0 -31
- package/cdk/deploy-stack.d.ts +0 -223
- package/cdk/deploy-stack.js +0 -562
- package/cdk/deployments-wrapper.d.ts +0 -3
- package/cdk/deployments-wrapper.js +0 -135
- package/cdk/deployments.d.ts +0 -327
- package/cdk/deployments.js +0 -360
- package/cdk/util.d.ts +0 -1
- package/cdk/util.js +0 -17
- package/cli/ci-info.d.ts +0 -4
- package/cli/ci-info.js +0 -8
- package/cli/colors.d.ts +0 -17
- package/cli/colors.js +0 -27
- package/cli/commands/bind.d.ts +0 -19
- package/cli/commands/bind.js +0 -360
- package/cli/commands/bootstrap.d.ts +0 -15
- package/cli/commands/bootstrap.js +0 -11
- package/cli/commands/build.d.ts +0 -17
- package/cli/commands/build.js +0 -25
- package/cli/commands/connect.d.ts +0 -17
- package/cli/commands/connect.js +0 -55
- package/cli/commands/console.d.ts +0 -15
- package/cli/commands/console.js +0 -22
- package/cli/commands/deploy.d.ts +0 -19
- package/cli/commands/deploy.js +0 -112
- package/cli/commands/dev.d.ts +0 -25
- package/cli/commands/dev.js +0 -351
- package/cli/commands/diff.d.ts +0 -19
- package/cli/commands/diff.js +0 -89
- package/cli/commands/plugins/kysely.d.ts +0 -1
- package/cli/commands/plugins/kysely.js +0 -87
- package/cli/commands/plugins/pothos.d.ts +0 -1
- package/cli/commands/plugins/pothos.js +0 -58
- package/cli/commands/plugins/warmer.d.ts +0 -1
- package/cli/commands/plugins/warmer.js +0 -33
- package/cli/commands/remove.d.ts +0 -19
- package/cli/commands/remove.js +0 -62
- package/cli/commands/secrets/get.d.ts +0 -19
- package/cli/commands/secrets/get.js +0 -27
- package/cli/commands/secrets/list.d.ts +0 -19
- package/cli/commands/secrets/list.js +0 -69
- package/cli/commands/secrets/load.d.ts +0 -17
- package/cli/commands/secrets/load.js +0 -47
- package/cli/commands/secrets/remove.d.ts +0 -19
- package/cli/commands/secrets/remove.js +0 -27
- package/cli/commands/secrets/secrets.d.ts +0 -2
- package/cli/commands/secrets/secrets.js +0 -16
- package/cli/commands/secrets/set.d.ts +0 -21
- package/cli/commands/secrets/set.js +0 -54
- package/cli/commands/telemetry.d.ts +0 -17
- package/cli/commands/telemetry.js +0 -24
- package/cli/commands/transform.d.ts +0 -17
- package/cli/commands/transform.js +0 -62
- package/cli/commands/types.d.ts +0 -15
- package/cli/commands/types.js +0 -25
- package/cli/commands/update.d.ts +0 -17
- package/cli/commands/update.js +0 -116
- package/cli/commands/version.d.ts +0 -15
- package/cli/commands/version.js +0 -15
- package/cli/local/router.d.ts +0 -44
- package/cli/local/router.js +0 -43
- package/cli/local/server.d.ts +0 -22
- package/cli/local/server.js +0 -319
- package/cli/program.d.ts +0 -19
- package/cli/program.js +0 -87
- package/cli/spinner.d.ts +0 -3
- package/cli/spinner.js +0 -14
- package/cli/sst.d.ts +0 -2
- package/cli/sst.js +0 -74
- package/cli/telemetry/environment.d.ts +0 -15
- package/cli/telemetry/environment.js +0 -27
- package/cli/telemetry/post-payload.d.ts +0 -1
- package/cli/telemetry/post-payload.js +0 -27
- package/cli/telemetry/project-id.d.ts +0 -2
- package/cli/telemetry/project-id.js +0 -47
- package/cli/telemetry/telemetry.d.ts +0 -19
- package/cli/telemetry/telemetry.js +0 -103
- package/cli/terminal.d.ts +0 -1
- package/cli/terminal.js +0 -8
- package/cli/ui/deploy.d.ts +0 -10
- package/cli/ui/deploy.js +0 -172
- package/cli/ui/functions.d.ts +0 -2
- package/cli/ui/functions.js +0 -130
- package/cli/ui/header.d.ts +0 -5
- package/cli/ui/header.js +0 -16
- package/cli/ui/stack.d.ts +0 -1
- package/cli/ui/stack.js +0 -6
- package/config.d.ts +0 -56
- package/config.js +0 -244
- package/constructs/Api.d.ts +0 -814
- package/constructs/Api.js +0 -743
- package/constructs/ApiGatewayV1Api.d.ts +0 -642
- package/constructs/ApiGatewayV1Api.js +0 -767
- package/constructs/App.d.ts +0 -168
- package/constructs/App.js +0 -493
- package/constructs/AppSyncApi.d.ts +0 -550
- package/constructs/AppSyncApi.js +0 -493
- package/constructs/AstroSite.d.ts +0 -39
- package/constructs/AstroSite.js +0 -78
- package/constructs/AstroSite.tsdoc.d.ts +0 -2
- package/constructs/AstroSite.tsdoc.js +0 -2
- package/constructs/Auth.d.ts +0 -100
- package/constructs/Auth.js +0 -177
- package/constructs/BaseSite.d.ts +0 -29
- package/constructs/BaseSite.js +0 -43
- package/constructs/Bucket.d.ts +0 -364
- package/constructs/Bucket.js +0 -327
- package/constructs/Cognito.d.ts +0 -232
- package/constructs/Cognito.js +0 -370
- package/constructs/Config.d.ts +0 -3
- package/constructs/Config.js +0 -3
- package/constructs/Construct.d.ts +0 -23
- package/constructs/Construct.js +0 -46
- package/constructs/Cron.d.ts +0 -164
- package/constructs/Cron.js +0 -114
- package/constructs/Distribution.d.ts +0 -143
- package/constructs/Distribution.js +0 -260
- package/constructs/EdgeFunction.d.ts +0 -49
- package/constructs/EdgeFunction.js +0 -442
- package/constructs/EventBus.d.ts +0 -444
- package/constructs/EventBus.js +0 -440
- package/constructs/Function.d.ts +0 -690
- package/constructs/Function.js +0 -583
- package/constructs/FunctionalStack.d.ts +0 -13
- package/constructs/FunctionalStack.js +0 -62
- package/constructs/Job.d.ts +0 -337
- package/constructs/Job.js +0 -404
- package/constructs/KinesisStream.d.ts +0 -224
- package/constructs/KinesisStream.js +0 -207
- package/constructs/Metadata.d.ts +0 -60
- package/constructs/Metadata.js +0 -1
- package/constructs/NextjsSite.d.ts +0 -104
- package/constructs/NextjsSite.js +0 -308
- package/constructs/Parameter.d.ts +0 -37
- package/constructs/Parameter.js +0 -53
- package/constructs/Queue.d.ts +0 -194
- package/constructs/Queue.js +0 -204
- package/constructs/RDS.d.ts +0 -221
- package/constructs/RDS.js +0 -363
- package/constructs/RemixSite.d.ts +0 -42
- package/constructs/RemixSite.js +0 -158
- package/constructs/RemixSite.tsdoc.d.ts +0 -2
- package/constructs/RemixSite.tsdoc.js +0 -2
- package/constructs/Script.d.ts +0 -160
- package/constructs/Script.js +0 -179
- package/constructs/Secret.d.ts +0 -30
- package/constructs/Secret.js +0 -59
- package/constructs/Service.d.ts +0 -487
- package/constructs/Service.js +0 -655
- package/constructs/SolidStartSite.d.ts +0 -37
- package/constructs/SolidStartSite.js +0 -66
- package/constructs/SolidStartSite.tsdoc.d.ts +0 -2
- package/constructs/SolidStartSite.tsdoc.js +0 -2
- package/constructs/SsrFunction.d.ts +0 -60
- package/constructs/SsrFunction.js +0 -226
- package/constructs/SsrSite.d.ts +0 -407
- package/constructs/SsrSite.js +0 -850
- package/constructs/Stack.d.ts +0 -127
- package/constructs/Stack.js +0 -243
- package/constructs/StaticSite.d.ts +0 -348
- package/constructs/StaticSite.js +0 -468
- package/constructs/SvelteKitSite.d.ts +0 -40
- package/constructs/SvelteKitSite.js +0 -106
- package/constructs/SvelteKitSite.tsdoc.d.ts +0 -2
- package/constructs/SvelteKitSite.tsdoc.js +0 -2
- package/constructs/Table.d.ts +0 -410
- package/constructs/Table.js +0 -425
- package/constructs/Topic.d.ts +0 -257
- package/constructs/Topic.js +0 -273
- package/constructs/WebSocketApi.d.ts +0 -355
- package/constructs/WebSocketApi.js +0 -404
- package/constructs/cdk/HttpAwsIntegration.d.ts +0 -32
- package/constructs/cdk/HttpAwsIntegration.js +0 -24
- package/constructs/cdk/certificate-base.d.ts +0 -18
- package/constructs/cdk/certificate-base.js +0 -26
- package/constructs/cdk/dns-validated-certificate.d.ts +0 -77
- package/constructs/cdk/dns-validated-certificate.js +0 -125
- package/constructs/cdk/website-redirect.d.ts +0 -53
- package/constructs/cdk/website-redirect.js +0 -77
- package/constructs/context.d.ts +0 -3
- package/constructs/context.js +0 -27
- package/constructs/deferred_task.d.ts +0 -6
- package/constructs/deferred_task.js +0 -45
- package/constructs/deprecated/NextjsSite.d.ts +0 -309
- package/constructs/deprecated/NextjsSite.js +0 -1074
- package/constructs/deprecated/cross-region-helper.d.ts +0 -7
- package/constructs/deprecated/cross-region-helper.js +0 -152
- package/constructs/deprecated/index.d.ts +0 -1
- package/constructs/deprecated/index.js +0 -1
- package/constructs/future/Auth.d.ts +0 -80
- package/constructs/future/Auth.js +0 -122
- package/constructs/future/index.d.ts +0 -1
- package/constructs/future/index.js +0 -1
- package/constructs/index.d.ts +0 -32
- package/constructs/index.js +0 -32
- package/constructs/static-file-list.d.ts +0 -1
- package/constructs/static-file-list.js +0 -51
- package/constructs/util/apiGatewayV1AccessLog.d.ts +0 -15
- package/constructs/util/apiGatewayV1AccessLog.js +0 -76
- package/constructs/util/apiGatewayV2AccessLog.d.ts +0 -10
- package/constructs/util/apiGatewayV2AccessLog.js +0 -107
- package/constructs/util/apiGatewayV2Cors.d.ts +0 -67
- package/constructs/util/apiGatewayV2Cors.js +0 -21
- package/constructs/util/apiGatewayV2Domain.d.ts +0 -47
- package/constructs/util/apiGatewayV2Domain.js +0 -208
- package/constructs/util/appSyncApiDomain.d.ts +0 -41
- package/constructs/util/appSyncApiDomain.js +0 -176
- package/constructs/util/builder.d.ts +0 -3
- package/constructs/util/builder.js +0 -9
- package/constructs/util/duration.d.ts +0 -3
- package/constructs/util/duration.js +0 -19
- package/constructs/util/functionBinding.d.ts +0 -31
- package/constructs/util/functionBinding.js +0 -104
- package/constructs/util/functionUrlCors.d.ts +0 -67
- package/constructs/util/functionUrlCors.js +0 -23
- package/constructs/util/permission.d.ts +0 -8
- package/constructs/util/permission.js +0 -228
- package/constructs/util/size.d.ts +0 -3
- package/constructs/util/size.js +0 -12
- package/constructs/util/warning.d.ts +0 -11
- package/constructs/util/warning.js +0 -21
- package/context/context.d.ts +0 -13
- package/context/context.js +0 -69
- package/context/context2.d.ts +0 -16
- package/context/context2.js +0 -108
- package/context/handler.d.ts +0 -25
- package/context/handler.js +0 -21
- package/context/index.d.ts +0 -2
- package/context/index.js +0 -2
- package/credentials.d.ts +0 -9
- package/credentials.js +0 -145
- package/error.d.ts +0 -6
- package/error.js +0 -10
- package/index.d.ts +0 -1
- package/index.js +0 -1
- package/iot.d.ts +0 -6
- package/iot.js +0 -163
- package/logger.d.ts +0 -3
- package/logger.js +0 -32
- package/node/actor/index.d.ts +0 -29
- package/node/actor/index.js +0 -17
- package/node/api/index.d.ts +0 -64
- package/node/api/index.js +0 -179
- package/node/auth/adapter/adapter.d.ts +0 -3
- package/node/auth/adapter/adapter.js +0 -3
- package/node/auth/adapter/facebook.d.ts +0 -2
- package/node/auth/adapter/facebook.js +0 -26
- package/node/auth/adapter/github.d.ts +0 -2
- package/node/auth/adapter/github.js +0 -21
- package/node/auth/adapter/google.d.ts +0 -9
- package/node/auth/adapter/google.js +0 -18
- package/node/auth/adapter/link.d.ts +0 -8
- package/node/auth/adapter/link.js +0 -39
- package/node/auth/adapter/oauth.d.ts +0 -25
- package/node/auth/adapter/oauth.js +0 -52
- package/node/auth/adapter/oidc.d.ts +0 -17
- package/node/auth/adapter/oidc.js +0 -50
- package/node/auth/adapter/twitch.d.ts +0 -2
- package/node/auth/adapter/twitch.js +0 -11
- package/node/auth/auth.d.ts +0 -24
- package/node/auth/auth.js +0 -74
- package/node/auth/index.d.ts +0 -13
- package/node/auth/index.js +0 -12
- package/node/auth/session.d.ts +0 -76
- package/node/auth/session.js +0 -121
- package/node/bucket/index.d.ts +0 -3
- package/node/bucket/index.js +0 -2
- package/node/config/index.d.ts +0 -13
- package/node/config/index.js +0 -22
- package/node/event-bus/index.d.ts +0 -51
- package/node/event-bus/index.js +0 -76
- package/node/function/index.d.ts +0 -3
- package/node/function/index.js +0 -3
- package/node/future/auth/adapter/adapter.d.ts +0 -10
- package/node/future/auth/adapter/adapter.js +0 -1
- package/node/future/auth/adapter/code.d.ts +0 -17
- package/node/future/auth/adapter/code.js +0 -68
- package/node/future/auth/adapter/facebook.d.ts +0 -16
- package/node/future/auth/adapter/facebook.js +0 -27
- package/node/future/auth/adapter/github.d.ts +0 -23
- package/node/future/auth/adapter/github.js +0 -23
- package/node/future/auth/adapter/google.d.ts +0 -28
- package/node/future/auth/adapter/google.js +0 -22
- package/node/future/auth/adapter/link.d.ts +0 -13
- package/node/future/auth/adapter/link.js +0 -47
- package/node/future/auth/adapter/microsoft.d.ts +0 -22
- package/node/future/auth/adapter/microsoft.js +0 -16
- package/node/future/auth/adapter/oauth.d.ts +0 -41
- package/node/future/auth/adapter/oauth.js +0 -67
- package/node/future/auth/adapter/oidc.d.ts +0 -30
- package/node/future/auth/adapter/oidc.js +0 -63
- package/node/future/auth/adapter/spotify.d.ts +0 -23
- package/node/future/auth/adapter/spotify.js +0 -22
- package/node/future/auth/encryption.d.ts +0 -2
- package/node/future/auth/encryption.js +0 -30
- package/node/future/auth/handler.d.ts +0 -46
- package/node/future/auth/handler.js +0 -280
- package/node/future/auth/index.d.ts +0 -17
- package/node/future/auth/index.js +0 -15
- package/node/future/auth/session.d.ts +0 -71
- package/node/future/auth/session.js +0 -146
- package/node/graphql/index.d.ts +0 -15
- package/node/graphql/index.js +0 -32
- package/node/job/index.d.ts +0 -37
- package/node/job/index.js +0 -64
- package/node/kinesis-stream/index.d.ts +0 -3
- package/node/kinesis-stream/index.js +0 -3
- package/node/queue/index.d.ts +0 -3
- package/node/queue/index.js +0 -2
- package/node/rds/index.d.ts +0 -3
- package/node/rds/index.js +0 -2
- package/node/service/index.d.ts +0 -3
- package/node/service/index.js +0 -4
- package/node/site/index.d.ts +0 -18
- package/node/site/index.js +0 -18
- package/node/table/index.d.ts +0 -3
- package/node/table/index.js +0 -4
- package/node/topic/index.d.ts +0 -3
- package/node/topic/index.js +0 -4
- package/node/util/index.d.ts +0 -2
- package/node/util/index.js +0 -196
- package/node/util/loader.d.ts +0 -2
- package/node/util/loader.js +0 -51
- package/node/websocket-api/index.d.ts +0 -23
- package/node/websocket-api/index.js +0 -48
- package/pothos.d.ts +0 -7
- package/pothos.js +0 -160
- package/project.d.ts +0 -75
- package/project.js +0 -188
- package/runtime/handlers/container.d.ts +0 -2
- package/runtime/handlers/container.js +0 -263
- package/runtime/handlers/dotnet.d.ts +0 -2
- package/runtime/handlers/dotnet.js +0 -115
- package/runtime/handlers/go.d.ts +0 -2
- package/runtime/handlers/go.js +0 -126
- package/runtime/handlers/java.d.ts +0 -2
- package/runtime/handlers/java.js +0 -103
- package/runtime/handlers/node.d.ts +0 -2
- package/runtime/handlers/node.js +0 -269
- package/runtime/handlers/python.d.ts +0 -2
- package/runtime/handlers/python.js +0 -141
- package/runtime/handlers/pythonBundling.d.ts +0 -82
- package/runtime/handlers/pythonBundling.js +0 -80
- package/runtime/handlers/rust.d.ts +0 -2
- package/runtime/handlers/rust.js +0 -110
- package/runtime/handlers.d.ts +0 -74
- package/runtime/handlers.js +0 -151
- package/runtime/iot.d.ts +0 -1
- package/runtime/iot.js +0 -17
- package/runtime/runtime.d.ts +0 -32
- package/runtime/runtime.js +0 -1
- package/runtime/server.d.ts +0 -6
- package/runtime/server.js +0 -150
- package/runtime/workers.d.ts +0 -37
- package/runtime/workers.js +0 -85
- package/stacks/app-metadata.d.ts +0 -7
- package/stacks/app-metadata.js +0 -75
- package/stacks/assembly.d.ts +0 -1
- package/stacks/assembly.js +0 -4
- package/stacks/build.d.ts +0 -9
- package/stacks/build.js +0 -110
- package/stacks/deploy.d.ts +0 -9
- package/stacks/deploy.js +0 -240
- package/stacks/diff.d.ts +0 -8
- package/stacks/diff.js +0 -62
- package/stacks/index.d.ts +0 -10
- package/stacks/index.js +0 -10
- package/stacks/metadata.d.ts +0 -11
- package/stacks/metadata.js +0 -83
- package/stacks/monitor.d.ts +0 -32
- package/stacks/monitor.js +0 -151
- package/stacks/remove.d.ts +0 -8
- package/stacks/remove.js +0 -76
- package/stacks/synth.d.ts +0 -12
- package/stacks/synth.js +0 -94
- package/support/base-site-archiver.mjs +0 -99
- package/support/base-site-custom-resource/s3-handler.py +0 -195
- package/support/base-site-custom-resource/s3-upload.py +0 -89
- package/support/bootstrap-metadata-function/index.mjs +0 -58011
- package/support/bridge/Dockerfile +0 -3
- package/support/bridge/bridge.mjs +0 -146
- package/support/certificate-requestor/index.js +0 -549
- package/support/custom-resources/index.mjs +0 -180627
- package/support/dotnet31-bootstrap/Program.cs +0 -17
- package/support/dotnet31-bootstrap/dotnet-bootstrap.csproj +0 -12
- package/support/dotnet31-bootstrap/release/Amazon.Lambda.Core.dll +0 -0
- package/support/dotnet31-bootstrap/release/Amazon.Lambda.RuntimeSupport.dll +0 -0
- package/support/dotnet31-bootstrap/release/System.Runtime.CompilerServices.Unsafe.dll +0 -0
- package/support/dotnet31-bootstrap/release/System.Text.Encodings.Web.dll +0 -0
- package/support/dotnet31-bootstrap/release/System.Text.Json.dll +0 -0
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap +0 -0
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap.deps.json +0 -230
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap.dll +0 -0
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap.pdb +0 -0
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap.runtimeconfig.json +0 -9
- package/support/dotnet6-bootstrap/Program.cs +0 -17
- package/support/dotnet6-bootstrap/dotnet-bootstrap.csproj +0 -12
- package/support/dotnet6-bootstrap/release/Amazon.Lambda.Core.dll +0 -0
- package/support/dotnet6-bootstrap/release/Amazon.Lambda.RuntimeSupport.dll +0 -0
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap +0 -0
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap.deps.json +0 -59
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap.dll +0 -0
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap.pdb +0 -0
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap.runtimeconfig.json +0 -12
- package/support/edge-function/edge-lambda-version.mjs +0 -3
- package/support/edge-function/edge-lambda.mjs +0 -3
- package/support/edge-function/s3-bucket.mjs +0 -3
- package/support/event-bus-retrier/index.mjs +0 -75
- package/support/java-runtime/install.sh +0 -25
- package/support/java-runtime/pom.xml +0 -39
- package/support/java-runtime/release/aws-lambda-java-core-1.2.0.jar +0 -0
- package/support/java-runtime/release/aws-lambda-java-runtime-interface-client-1.1.0.jar +0 -0
- package/support/java-runtime/release/aws-lambda-java-serialization-1.0.0.jar +0 -0
- package/support/job-manager/index.mjs +0 -57679
- package/support/nixpacks/Dockerfile +0 -6
- package/support/nodejs-runtime/index.mjs +0 -169
- package/support/python-runtime/Dockerfile +0 -9
- package/support/python-runtime/Dockerfile.custom +0 -21
- package/support/python-runtime/Dockerfile.dependencies +0 -26
- package/support/python-runtime/runtime.py +0 -127
- package/support/rds-migrator/index.mjs +0 -49
- package/support/remix-site-function/edge-server.js +0 -161
- package/support/remix-site-function/polyfill.js +0 -24
- package/support/remix-site-function/regional-server.js +0 -164
- package/support/script-function/index.mjs +0 -48760
- package/support/service-dev-function/index.js +0 -1
- package/support/signing-function/index.mjs +0 -3769
- package/support/sls-nextjs-site-build-helper/build.cjs +0 -91
- package/support/sls-nextjs-site-build-helper/index-wrapper.js +0 -19
- package/support/sls-nextjs-site-function-code-replacer/lambda-code-updater.py +0 -156
- package/support/sls-nextjs-site-stub/index.html +0 -99
- package/support/ssr-site-function-archiver.mjs +0 -96
- package/support/ssr-site-function-stub/index.js +0 -5
- package/support/ssr-warmer/index.mjs +0 -34235
- package/util/error.d.ts +0 -3
- package/util/error.js +0 -6
- package/util/fs.d.ts +0 -4
- package/util/fs.js +0 -46
- package/util/lazy.d.ts +0 -1
- package/util/lazy.js +0 -11
- package/util/module.d.ts +0 -1
- package/util/module.js +0 -5
- package/util/process.d.ts +0 -2
- package/util/process.js +0 -3
- package/watcher.d.ts +0 -14
- package/watcher.js +0 -35
package/node/auth/session.d.ts
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { SignerOptions } from "fast-jwt";
|
|
2
|
-
import { APIGatewayProxyStructuredResultV2 } from "aws-lambda";
|
|
3
|
-
export interface SessionTypes {
|
|
4
|
-
public: {};
|
|
5
|
-
}
|
|
6
|
-
export type SessionValue = {
|
|
7
|
-
[type in keyof SessionTypes]: {
|
|
8
|
-
type: type;
|
|
9
|
-
properties: SessionTypes[type];
|
|
10
|
-
};
|
|
11
|
-
}[keyof SessionTypes];
|
|
12
|
-
export declare function useSession<T = SessionValue>(): T;
|
|
13
|
-
/**
|
|
14
|
-
* Creates a new session token with provided information
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```js
|
|
18
|
-
* Session.create({
|
|
19
|
-
* type: "user",
|
|
20
|
-
* properties: {
|
|
21
|
-
* userID: "123"
|
|
22
|
-
* }
|
|
23
|
-
* })
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
declare function create<T extends keyof SessionTypes>(input: {
|
|
27
|
-
type: T;
|
|
28
|
-
properties: SessionTypes[T];
|
|
29
|
-
options?: Partial<SignerOptions>;
|
|
30
|
-
}): string;
|
|
31
|
-
/**
|
|
32
|
-
* Returns a 302 redirect with an auth-token cookie set with the provided session information
|
|
33
|
-
*
|
|
34
|
-
* @example
|
|
35
|
-
* ```js
|
|
36
|
-
* Session.cookie({
|
|
37
|
-
* type: "user",
|
|
38
|
-
* properties: {
|
|
39
|
-
* userID: "123"
|
|
40
|
-
* },
|
|
41
|
-
* redirect: "https://app.example.com/"
|
|
42
|
-
* })
|
|
43
|
-
* ```
|
|
44
|
-
*/
|
|
45
|
-
export declare function cookie<T extends keyof SessionTypes>(input: {
|
|
46
|
-
type: T;
|
|
47
|
-
properties: SessionTypes[T];
|
|
48
|
-
redirect: string;
|
|
49
|
-
options?: Partial<SignerOptions>;
|
|
50
|
-
}): APIGatewayProxyStructuredResultV2;
|
|
51
|
-
/**
|
|
52
|
-
* Returns a 302 redirect with a query parameter named token set with the jwt value
|
|
53
|
-
*
|
|
54
|
-
* @example
|
|
55
|
-
* ```js
|
|
56
|
-
* Session.parameter({
|
|
57
|
-
* type: "user",
|
|
58
|
-
* properties: {
|
|
59
|
-
* userID: "123"
|
|
60
|
-
* },
|
|
61
|
-
* redirect: "https://app.example.com/"
|
|
62
|
-
* })
|
|
63
|
-
* ```
|
|
64
|
-
*/
|
|
65
|
-
export declare function parameter<T extends keyof SessionTypes>(input: {
|
|
66
|
-
type: T;
|
|
67
|
-
redirect: string;
|
|
68
|
-
properties: SessionTypes[T];
|
|
69
|
-
options?: Partial<SignerOptions>;
|
|
70
|
-
}): APIGatewayProxyStructuredResultV2;
|
|
71
|
-
export declare const Session: {
|
|
72
|
-
create: typeof create;
|
|
73
|
-
cookie: typeof cookie;
|
|
74
|
-
parameter: typeof parameter;
|
|
75
|
-
};
|
|
76
|
-
export {};
|
package/node/auth/session.js
DELETED
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { createSigner, createVerifier } from "fast-jwt";
|
|
2
|
-
import { Context } from "../../context/context2.js";
|
|
3
|
-
import { useCookie, useHeader } from "../api/index.js";
|
|
4
|
-
import { getPrivateKey, getPublicKey } from "./auth.js";
|
|
5
|
-
import { useContextType } from "../../context/handler.js";
|
|
6
|
-
const SessionMemo = /* @__PURE__ */ Context.memo(() => {
|
|
7
|
-
// Get the context type and hooks that match that type
|
|
8
|
-
let token = "";
|
|
9
|
-
const header = useHeader("authorization");
|
|
10
|
-
if (header)
|
|
11
|
-
token = header.substring(7);
|
|
12
|
-
const ctxType = useContextType();
|
|
13
|
-
const cookie = ctxType === "api" ? useCookie("auth-token") : undefined;
|
|
14
|
-
if (cookie)
|
|
15
|
-
token = cookie;
|
|
16
|
-
// WebSocket may also set the token in the protocol header
|
|
17
|
-
// TODO: Once https://github.com/sst/sst/pull/2838 is merged,
|
|
18
|
-
// then we should no longer need to check both casing for the header.
|
|
19
|
-
const wsProtocol = ctxType === "ws"
|
|
20
|
-
? useHeader("sec-websocket-protocol") ||
|
|
21
|
-
useHeader("Sec-WebSocket-Protocol")
|
|
22
|
-
: undefined;
|
|
23
|
-
if (wsProtocol)
|
|
24
|
-
token = wsProtocol.split(",")[0].trim();
|
|
25
|
-
if (token) {
|
|
26
|
-
const jwt = createVerifier({
|
|
27
|
-
algorithms: ["RS512"],
|
|
28
|
-
key: getPublicKey(),
|
|
29
|
-
})(token);
|
|
30
|
-
return jwt;
|
|
31
|
-
}
|
|
32
|
-
return {
|
|
33
|
-
type: "public",
|
|
34
|
-
properties: {},
|
|
35
|
-
};
|
|
36
|
-
});
|
|
37
|
-
// This is a crazy TS hack to prevent the types from being evaluated too soon
|
|
38
|
-
export function useSession() {
|
|
39
|
-
const ctx = SessionMemo();
|
|
40
|
-
return ctx;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Creates a new session token with provided information
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* ```js
|
|
47
|
-
* Session.create({
|
|
48
|
-
* type: "user",
|
|
49
|
-
* properties: {
|
|
50
|
-
* userID: "123"
|
|
51
|
-
* }
|
|
52
|
-
* })
|
|
53
|
-
* ```
|
|
54
|
-
*/
|
|
55
|
-
function create(input) {
|
|
56
|
-
const signer = createSigner({
|
|
57
|
-
...input.options,
|
|
58
|
-
key: getPrivateKey(),
|
|
59
|
-
algorithm: "RS512",
|
|
60
|
-
});
|
|
61
|
-
const token = signer({
|
|
62
|
-
type: input.type,
|
|
63
|
-
properties: input.properties,
|
|
64
|
-
});
|
|
65
|
-
return token;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Returns a 302 redirect with an auth-token cookie set with the provided session information
|
|
69
|
-
*
|
|
70
|
-
* @example
|
|
71
|
-
* ```js
|
|
72
|
-
* Session.cookie({
|
|
73
|
-
* type: "user",
|
|
74
|
-
* properties: {
|
|
75
|
-
* userID: "123"
|
|
76
|
-
* },
|
|
77
|
-
* redirect: "https://app.example.com/"
|
|
78
|
-
* })
|
|
79
|
-
* ```
|
|
80
|
-
*/
|
|
81
|
-
export function cookie(input) {
|
|
82
|
-
const token = create(input);
|
|
83
|
-
const expires = new Date(Date.now() + (input.options?.expiresIn || 1000 * 60 * 60 * 24 * 7));
|
|
84
|
-
return {
|
|
85
|
-
statusCode: 302,
|
|
86
|
-
headers: {
|
|
87
|
-
location: input.redirect,
|
|
88
|
-
},
|
|
89
|
-
cookies: [
|
|
90
|
-
`auth-token=${token}; HttpOnly; SameSite=None; Secure; Path=/; Expires=${expires}`,
|
|
91
|
-
],
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Returns a 302 redirect with a query parameter named token set with the jwt value
|
|
96
|
-
*
|
|
97
|
-
* @example
|
|
98
|
-
* ```js
|
|
99
|
-
* Session.parameter({
|
|
100
|
-
* type: "user",
|
|
101
|
-
* properties: {
|
|
102
|
-
* userID: "123"
|
|
103
|
-
* },
|
|
104
|
-
* redirect: "https://app.example.com/"
|
|
105
|
-
* })
|
|
106
|
-
* ```
|
|
107
|
-
*/
|
|
108
|
-
export function parameter(input) {
|
|
109
|
-
const token = create(input);
|
|
110
|
-
return {
|
|
111
|
-
statusCode: 302,
|
|
112
|
-
headers: {
|
|
113
|
-
location: input.redirect + "?token=" + token,
|
|
114
|
-
},
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
export const Session = {
|
|
118
|
-
create,
|
|
119
|
-
cookie,
|
|
120
|
-
parameter,
|
|
121
|
-
};
|
package/node/bucket/index.d.ts
DELETED
package/node/bucket/index.js
DELETED
package/node/config/index.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export interface ParameterResources {
|
|
2
|
-
}
|
|
3
|
-
export interface SecretResources {
|
|
4
|
-
}
|
|
5
|
-
export interface ConfigTypes {
|
|
6
|
-
}
|
|
7
|
-
export type ParameterTypes = {
|
|
8
|
-
[T in keyof ParameterResources]: string;
|
|
9
|
-
};
|
|
10
|
-
export type SecretTypes = {
|
|
11
|
-
[T in keyof SecretResources]: string;
|
|
12
|
-
};
|
|
13
|
-
export declare const Config: ConfigTypes & ParameterTypes & SecretTypes;
|
package/node/config/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { createProxy, getVariables2 } from "../util/index.js";
|
|
2
|
-
export const Config = /* @__PURE__ */ createProxy("Config");
|
|
3
|
-
const metadata = parseMetadataEnvironment();
|
|
4
|
-
const parameters = flattenValues(getVariables2("Parameter"));
|
|
5
|
-
const secrets = flattenValues(getVariables2("Secret"));
|
|
6
|
-
Object.assign(Config, metadata, parameters, secrets);
|
|
7
|
-
///////////////
|
|
8
|
-
// Functions
|
|
9
|
-
///////////////
|
|
10
|
-
function parseMetadataEnvironment() {
|
|
11
|
-
return {
|
|
12
|
-
APP: process.env.SST_APP,
|
|
13
|
-
STAGE: process.env.SST_STAGE,
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
function flattenValues(configValues) {
|
|
17
|
-
const acc = {};
|
|
18
|
-
Object.keys(configValues).forEach((name) => {
|
|
19
|
-
acc[name] = configValues[name].value;
|
|
20
|
-
});
|
|
21
|
-
return acc;
|
|
22
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
export interface EventBusResources {
|
|
2
|
-
}
|
|
3
|
-
export declare const EventBus: EventBusResources;
|
|
4
|
-
import { PutEventsCommandOutput } from "@aws-sdk/client-eventbridge";
|
|
5
|
-
import { EventBridgeEvent } from "aws-lambda";
|
|
6
|
-
import { ZodAny, ZodObject, ZodRawShape, z } from "zod";
|
|
7
|
-
/**
|
|
8
|
-
* PutEventsCommandOutput is used in return type of createEvent, in case the consumer of SST builds
|
|
9
|
-
* their project with declaration files, this is not portable. In order to allow TS to generate a
|
|
10
|
-
* declaration file without reference to @aws-sdk/client-eventbridge, we must re-export the type.
|
|
11
|
-
*
|
|
12
|
-
* More information here: https://github.com/microsoft/TypeScript/issues/47663#issuecomment-1519138189
|
|
13
|
-
*/
|
|
14
|
-
export { PutEventsCommandOutput };
|
|
15
|
-
export declare function createEventBuilder<Bus extends keyof typeof EventBus, MetadataShape extends ZodRawShape | undefined, MetadataFunction extends () => any>(props: {
|
|
16
|
-
bus: Bus;
|
|
17
|
-
metadata?: MetadataShape;
|
|
18
|
-
metadataFn?: MetadataFunction;
|
|
19
|
-
}): <Type extends string, Shape extends ZodRawShape, Properties = z.objectOutputType<Shape, ZodAny, "strip">>(type: Type, properties: Shape) => {
|
|
20
|
-
publish: undefined extends MetadataShape ? (properties: Properties) => Promise<PutEventsCommandOutput> : (properties: Properties, metadata: z.infer<ZodObject<Exclude<MetadataShape, undefined>, "strip", ZodAny>>) => Promise<void>;
|
|
21
|
-
type: Type;
|
|
22
|
-
shape: {
|
|
23
|
-
metadata: Parameters<undefined extends MetadataShape ? (properties: Properties) => Promise<PutEventsCommandOutput> : (properties: Properties, metadata: z.infer<ZodObject<Exclude<MetadataShape, undefined>, "strip", ZodAny>>) => Promise<void>>[1];
|
|
24
|
-
properties: Properties;
|
|
25
|
-
metadataFn: ReturnType<MetadataFunction>;
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
export type inferEvent<T extends {
|
|
29
|
-
shape: ZodObject<any>;
|
|
30
|
-
}> = z.infer<T["shape"]>;
|
|
31
|
-
type Event = {
|
|
32
|
-
type: string;
|
|
33
|
-
shape: {
|
|
34
|
-
properties: any;
|
|
35
|
-
metadata: any;
|
|
36
|
-
metadataFn: any;
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
type EventPayload<E extends Event> = {
|
|
40
|
-
type: E["type"];
|
|
41
|
-
properties: E["shape"]["properties"];
|
|
42
|
-
metadata: undefined extends E["shape"]["metadata"] ? E["shape"]["metadataFn"] : E["shape"]["metadata"];
|
|
43
|
-
attempts: number;
|
|
44
|
-
};
|
|
45
|
-
export declare function EventHandler<Events extends Event>(_events: Events | Events[], cb: (evt: {
|
|
46
|
-
[K in Events["type"]]: EventPayload<Extract<Events, {
|
|
47
|
-
type: K;
|
|
48
|
-
}>>;
|
|
49
|
-
}[Events["type"]]) => Promise<void>): (event: EventBridgeEvent<string, any> & {
|
|
50
|
-
attempts?: number;
|
|
51
|
-
}) => Promise<void>;
|
package/node/event-bus/index.js
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { createProxy } from "../util/index.js";
|
|
2
|
-
export const EventBus =
|
|
3
|
-
/* @__PURE__ */ createProxy("EventBus");
|
|
4
|
-
import { EventBridgeClient, PutEventsCommand, } from "@aws-sdk/client-eventbridge";
|
|
5
|
-
import { z } from "zod";
|
|
6
|
-
import { useLoader } from "../util/loader.js";
|
|
7
|
-
import { Config } from "../config/index.js";
|
|
8
|
-
const client = new EventBridgeClient({});
|
|
9
|
-
export function createEventBuilder(props) {
|
|
10
|
-
return function createEvent(type, properties) {
|
|
11
|
-
const propertiesSchema = z.object(properties);
|
|
12
|
-
const metadataSchema = props.metadata
|
|
13
|
-
? z.object(props.metadata)
|
|
14
|
-
: undefined;
|
|
15
|
-
const publish = async (properties, metadata) => {
|
|
16
|
-
const result = await useLoader("sst.bus.publish", async (input) => {
|
|
17
|
-
const size = 10;
|
|
18
|
-
const promises = [];
|
|
19
|
-
for (let i = 0; i < input.length; i += size) {
|
|
20
|
-
const chunk = input.slice(i, i + size);
|
|
21
|
-
promises.push(client.send(new PutEventsCommand({
|
|
22
|
-
Entries: chunk,
|
|
23
|
-
})));
|
|
24
|
-
}
|
|
25
|
-
const settled = await Promise.allSettled(promises);
|
|
26
|
-
const result = new Array(input.length);
|
|
27
|
-
for (let i = 0; i < result.length; i++) {
|
|
28
|
-
const item = settled[Math.floor(i / 10)];
|
|
29
|
-
if (item.status === "rejected") {
|
|
30
|
-
result[i] = item.reason;
|
|
31
|
-
continue;
|
|
32
|
-
}
|
|
33
|
-
result[i] = item.value;
|
|
34
|
-
}
|
|
35
|
-
return result;
|
|
36
|
-
})({
|
|
37
|
-
// @ts-expect-error
|
|
38
|
-
EventBusName: EventBus[props.bus].eventBusName,
|
|
39
|
-
// @ts-expect-error
|
|
40
|
-
Source: Config.APP,
|
|
41
|
-
Detail: JSON.stringify({
|
|
42
|
-
properties: propertiesSchema.parse(properties),
|
|
43
|
-
metadata: (() => {
|
|
44
|
-
if (metadataSchema) {
|
|
45
|
-
return metadataSchema.parse(metadata);
|
|
46
|
-
}
|
|
47
|
-
if (props.metadataFn) {
|
|
48
|
-
return props.metadataFn();
|
|
49
|
-
}
|
|
50
|
-
})(),
|
|
51
|
-
}),
|
|
52
|
-
DetailType: type,
|
|
53
|
-
});
|
|
54
|
-
return result;
|
|
55
|
-
};
|
|
56
|
-
return {
|
|
57
|
-
publish: publish,
|
|
58
|
-
type,
|
|
59
|
-
shape: {
|
|
60
|
-
metadata: {},
|
|
61
|
-
properties: {},
|
|
62
|
-
metadataFn: {},
|
|
63
|
-
},
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
export function EventHandler(_events, cb) {
|
|
68
|
-
return async (event) => {
|
|
69
|
-
await cb({
|
|
70
|
-
type: event["detail-type"],
|
|
71
|
-
properties: event.detail.properties,
|
|
72
|
-
metadata: event.detail.metadata,
|
|
73
|
-
attempts: event.attempts ?? 0,
|
|
74
|
-
});
|
|
75
|
-
};
|
|
76
|
-
}
|
package/node/function/index.d.ts
DELETED
package/node/function/index.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { APIGatewayProxyEventV2, APIGatewayProxyStructuredResultV2 } from "aws-lambda";
|
|
2
|
-
export type Adapter<T = any> = (evt: APIGatewayProxyEventV2) => Promise<{
|
|
3
|
-
type: "step";
|
|
4
|
-
properties: APIGatewayProxyStructuredResultV2;
|
|
5
|
-
} | {
|
|
6
|
-
type: "success";
|
|
7
|
-
properties: T;
|
|
8
|
-
} | {
|
|
9
|
-
type: "error";
|
|
10
|
-
}>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { APIGatewayProxyStructuredResultV2 } from "aws-lambda";
|
|
2
|
-
export declare function CodeAdapter(config: {
|
|
3
|
-
length?: number;
|
|
4
|
-
onCodeRequest: (code: string, claims: Record<string, any>) => Promise<APIGatewayProxyStructuredResultV2>;
|
|
5
|
-
onCodeInvalid: (code: string, claims: Record<string, any>) => Promise<APIGatewayProxyStructuredResultV2>;
|
|
6
|
-
}): () => Promise<{
|
|
7
|
-
type: "step";
|
|
8
|
-
properties: APIGatewayProxyStructuredResultV2;
|
|
9
|
-
} | {
|
|
10
|
-
type: "error";
|
|
11
|
-
properties?: undefined;
|
|
12
|
-
} | {
|
|
13
|
-
type: "success";
|
|
14
|
-
properties: {
|
|
15
|
-
claims: any;
|
|
16
|
-
};
|
|
17
|
-
}>;
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { useCookie, usePathParam, useQueryParam, useQueryParams, useResponse, } from "../../../api/index.js";
|
|
2
|
-
import { randomBytes } from "crypto";
|
|
3
|
-
import { decrypt, encrypt } from "../encryption.js";
|
|
4
|
-
export function CodeAdapter(config) {
|
|
5
|
-
const length = config.length || 6;
|
|
6
|
-
function generate() {
|
|
7
|
-
const buffer = randomBytes(length);
|
|
8
|
-
const otp = Array.from(buffer)
|
|
9
|
-
.map((byte) => byte % 10)
|
|
10
|
-
.join("");
|
|
11
|
-
return otp;
|
|
12
|
-
}
|
|
13
|
-
return async function () {
|
|
14
|
-
const step = usePathParam("step");
|
|
15
|
-
if (step === "authorize") {
|
|
16
|
-
const code = generate();
|
|
17
|
-
const claims = useQueryParams();
|
|
18
|
-
delete claims["client_id"];
|
|
19
|
-
delete claims["redirect_uri"];
|
|
20
|
-
delete claims["response_type"];
|
|
21
|
-
delete claims["provider"];
|
|
22
|
-
useResponse().cookies({
|
|
23
|
-
authorization: encrypt(JSON.stringify({
|
|
24
|
-
claims,
|
|
25
|
-
code,
|
|
26
|
-
})),
|
|
27
|
-
}, {
|
|
28
|
-
maxAge: 3600,
|
|
29
|
-
secure: true,
|
|
30
|
-
sameSite: "None",
|
|
31
|
-
httpOnly: true,
|
|
32
|
-
});
|
|
33
|
-
return {
|
|
34
|
-
type: "step",
|
|
35
|
-
properties: await config.onCodeRequest(code, claims),
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
if (step === "callback") {
|
|
39
|
-
const { code, claims } = JSON.parse(decrypt(useCookie("authorization")));
|
|
40
|
-
if (!code || !claims) {
|
|
41
|
-
return {
|
|
42
|
-
type: "error",
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
const compare = useQueryParam("code");
|
|
46
|
-
if (code !== compare) {
|
|
47
|
-
return {
|
|
48
|
-
type: "step",
|
|
49
|
-
properties: await config.onCodeInvalid(code, claims),
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
useResponse().cookies({
|
|
53
|
-
authorization: "",
|
|
54
|
-
}, {
|
|
55
|
-
expires: new Date(1),
|
|
56
|
-
});
|
|
57
|
-
return {
|
|
58
|
-
type: "success",
|
|
59
|
-
properties: {
|
|
60
|
-
claims: claims,
|
|
61
|
-
},
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
return {
|
|
65
|
-
type: "error",
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { OauthBasicConfig } from "./oauth.js";
|
|
2
|
-
export declare const FacebookAdapter: (config: OauthBasicConfig) => () => Promise<{
|
|
3
|
-
type: "success";
|
|
4
|
-
properties: {
|
|
5
|
-
tokenset: import("openid-client").TokenSet;
|
|
6
|
-
client: import("openid-client").BaseClient;
|
|
7
|
-
};
|
|
8
|
-
} | {
|
|
9
|
-
type: "step";
|
|
10
|
-
properties: {
|
|
11
|
-
statusCode: number;
|
|
12
|
-
headers: {
|
|
13
|
-
location: string;
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
}>;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Issuer } from "openid-client";
|
|
2
|
-
import { OauthAdapter } from "./oauth.js";
|
|
3
|
-
// Facebook's OIDC flow returns "id_token" as uri hash in redirect uri. Hashes
|
|
4
|
-
// are not passed to Lambda event object. It is likely that Facebook only wants
|
|
5
|
-
// to support redirecting to a frontend uri.
|
|
6
|
-
//
|
|
7
|
-
// We are only going to support the OAuth flow for now. More details about the flow:
|
|
8
|
-
// https://developers.facebook.com/docs/facebook-login/guides/advanced/oidc-token
|
|
9
|
-
//
|
|
10
|
-
// Also note that Facebook's discover uri does not work for the OAuth flow, as the
|
|
11
|
-
// token_endpoint and userinfo_endpoint are not included in the response.
|
|
12
|
-
// await Issuer.discover("https://www.facebook.com/.well-known/openid-configuration/");
|
|
13
|
-
const issuer = new Issuer({
|
|
14
|
-
issuer: "https://www.facebook.com",
|
|
15
|
-
authorization_endpoint: "https://facebook.com/dialog/oauth/",
|
|
16
|
-
jwks_uri: "https://www.facebook.com/.well-known/oauth/openid/jwks/",
|
|
17
|
-
token_endpoint: "https://graph.facebook.com/oauth/access_token",
|
|
18
|
-
userinfo_endpoint: "https://graph.facebook.com/oauth/access_token",
|
|
19
|
-
});
|
|
20
|
-
export const FacebookAdapter =
|
|
21
|
-
/* @__PURE__ */
|
|
22
|
-
(config) => {
|
|
23
|
-
return OauthAdapter({
|
|
24
|
-
issuer,
|
|
25
|
-
...config,
|
|
26
|
-
});
|
|
27
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { OauthBasicConfig } from "./oauth.js";
|
|
2
|
-
import { OidcBasicConfig } from "./oidc.js";
|
|
3
|
-
type Config = ({
|
|
4
|
-
mode: "oauth";
|
|
5
|
-
} & OauthBasicConfig) | ({
|
|
6
|
-
mode: "oidc";
|
|
7
|
-
} & OidcBasicConfig);
|
|
8
|
-
export declare const GithubAdapter: (config: Config) => () => Promise<{
|
|
9
|
-
type: "success";
|
|
10
|
-
properties: {
|
|
11
|
-
tokenset: import("openid-client").TokenSet;
|
|
12
|
-
client: import("openid-client").BaseClient;
|
|
13
|
-
};
|
|
14
|
-
} | {
|
|
15
|
-
type: "step";
|
|
16
|
-
properties: {
|
|
17
|
-
statusCode: number;
|
|
18
|
-
headers: {
|
|
19
|
-
location: string;
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
}>;
|
|
23
|
-
export {};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Issuer } from "openid-client";
|
|
2
|
-
import { OauthAdapter } from "./oauth.js";
|
|
3
|
-
import { OidcAdapter } from "./oidc.js";
|
|
4
|
-
const issuer = new Issuer({
|
|
5
|
-
issuer: "https://github.com",
|
|
6
|
-
authorization_endpoint: "https://github.com/login/oauth/authorize",
|
|
7
|
-
token_endpoint: "https://github.com/login/oauth/access_token",
|
|
8
|
-
});
|
|
9
|
-
export const GithubAdapter =
|
|
10
|
-
/* @__PURE__ */
|
|
11
|
-
(config) => {
|
|
12
|
-
if (config.mode === "oauth") {
|
|
13
|
-
return OauthAdapter({
|
|
14
|
-
issuer,
|
|
15
|
-
...config,
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
return OidcAdapter({
|
|
19
|
-
issuer,
|
|
20
|
-
scope: "openid email profile",
|
|
21
|
-
...config,
|
|
22
|
-
});
|
|
23
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { OidcBasicConfig } from "./oidc.js";
|
|
2
|
-
import { OauthBasicConfig } from "./oauth.js";
|
|
3
|
-
type GooglePrompt = "none" | "consent" | "select_account";
|
|
4
|
-
type GoogleAccessType = "offline" | "online";
|
|
5
|
-
type GoogleConfig = (OauthBasicConfig & {
|
|
6
|
-
mode: "oauth";
|
|
7
|
-
prompt?: GooglePrompt;
|
|
8
|
-
accessType?: GoogleAccessType;
|
|
9
|
-
}) | (OidcBasicConfig & {
|
|
10
|
-
mode: "oidc";
|
|
11
|
-
prompt?: GooglePrompt;
|
|
12
|
-
});
|
|
13
|
-
export declare function GoogleAdapter(config: GoogleConfig): () => Promise<{
|
|
14
|
-
type: "success";
|
|
15
|
-
properties: {
|
|
16
|
-
tokenset: import("openid-client").TokenSet;
|
|
17
|
-
client: import("openid-client").BaseClient;
|
|
18
|
-
};
|
|
19
|
-
} | {
|
|
20
|
-
type: "step";
|
|
21
|
-
properties: {
|
|
22
|
-
statusCode: number;
|
|
23
|
-
headers: {
|
|
24
|
-
location: string;
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
}>;
|
|
28
|
-
export {};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Issuer } from "openid-client";
|
|
2
|
-
import { OidcAdapter } from "./oidc.js";
|
|
3
|
-
import { OauthAdapter } from "./oauth.js";
|
|
4
|
-
const issuer = await Issuer.discover("https://accounts.google.com");
|
|
5
|
-
export function GoogleAdapter(config) {
|
|
6
|
-
/* @__PURE__ */
|
|
7
|
-
if (config.mode === "oauth") {
|
|
8
|
-
return OauthAdapter({
|
|
9
|
-
issuer,
|
|
10
|
-
...config,
|
|
11
|
-
params: {
|
|
12
|
-
...(config.accessType && { access_type: config.accessType }),
|
|
13
|
-
...config.params,
|
|
14
|
-
},
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
return OidcAdapter({
|
|
18
|
-
issuer,
|
|
19
|
-
scope: "openid email profile",
|
|
20
|
-
...config,
|
|
21
|
-
});
|
|
22
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { APIGatewayProxyStructuredResultV2 } from "aws-lambda";
|
|
2
|
-
export declare function LinkAdapter(config: {
|
|
3
|
-
onLink: (link: string, claims: Record<string, any>) => Promise<APIGatewayProxyStructuredResultV2>;
|
|
4
|
-
}): () => Promise<{
|
|
5
|
-
type: "step";
|
|
6
|
-
properties: APIGatewayProxyStructuredResultV2;
|
|
7
|
-
} | {
|
|
8
|
-
type: "success";
|
|
9
|
-
properties: any;
|
|
10
|
-
} | {
|
|
11
|
-
type: "error";
|
|
12
|
-
properties?: undefined;
|
|
13
|
-
}>;
|