-
Notifications
You must be signed in to change notification settings - Fork 0
/
auth-stub-template.yml
132 lines (123 loc) · 3.26 KB
/
auth-stub-template.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: Authentication, IPV and SPOT stubs
# Tags:
# Service: Authentication, IPV and SPOT stubs
# Source: govuk-one-login/orch-stubs
# Owner: [email protected]
Parameters:
CodeSigningConfigArn:
Type: String
Description: The ARN of the Code Signing Config to use, provided by the deployment pipeline
Default: none
PermissionsBoundary:
Type: String
Description: The ARN of the permissions boundary to apply when creating IAM roles
Default: none
Conditions:
UseCodeSigning: !Not [!Equals [none, !Ref CodeSigningConfigArn]]
UsePermissionsBoundary: !Not [!Equals [none, !Ref PermissionsBoundary]]
Globals:
Function:
CodeSigningConfigArn: !If
- UseCodeSigning
- !Ref CodeSigningConfigArn
- !Ref AWS::NoValue
PermissionsBoundary: !If
- UsePermissionsBoundary
- !Ref PermissionsBoundary
- !Ref AWS::NoValue
Resources:
ApiGateway:
Type: AWS::Serverless::Api
Properties:
Name: !Sub ${AWS::StackName}-ApiGateway
StageName: Live
AlwaysDeploy: true
AuthAuthorizeLambda:
Type: AWS::Serverless::Function
Properties:
CodeUri: .
Handler: src/main/auth-stub/auth-authorize.handler
Runtime: nodejs20.x
Architectures:
- arm64
Events:
Get:
Type: Api
Properties:
RestApiId: !Ref ApiGateway
Path: /authorize
Method: get
Post:
Type: Api
Properties:
RestApiId: !Ref ApiGateway
Path: /authorize
Method: post
Metadata:
BuildMethod: esbuild
BuildProperties:
EntryPoints:
- src/main/auth-stub/auth-authorize.ts
Minify: true
Sourcemap: true
Target: node20
AuthTokenLambda:
Type: AWS::Serverless::Function
Properties:
CodeUri: .
Handler: src/main/auth-stub/auth-token.handler
Runtime: nodejs20.x
Architectures:
- arm64
Events:
Get:
Type: Api
Properties:
RestApiId: !Ref ApiGateway
Path: /token
Method: get
Post:
Type: Api
Properties:
RestApiId: !Ref ApiGateway
Path: /token
Method: post
Metadata:
BuildMethod: esbuild
BuildProperties:
EntryPoints:
- src/main/auth-stub/auth-token.ts
Minify: true
Sourcemap: true
Target: node20
AuthUserInfoLambda:
Type: AWS::Serverless::Function
Properties:
CodeUri: .
Handler: src/main/auth-stub/auth-userinfo.handler
Runtime: nodejs20.x
Architectures:
- arm64
Events:
Get:
Type: Api
Properties:
RestApiId: !Ref ApiGateway
Path: /userinfo
Method: get
Post:
Type: Api
Properties:
RestApiId: !Ref ApiGateway
Path: /userinfo
Method: post
Metadata:
BuildMethod: esbuild
BuildProperties:
EntryPoints:
- src/main/auth-stub/auth-userinfo.ts
Minify: true
Sourcemap: true
Target: node20