Skip to content

Commit 59a781d

Browse files
committed
Required update
1 parent 338e66d commit 59a781d

3 files changed

Lines changed: 82 additions & 9 deletions

File tree

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<AssignMessage enabled="true" name="AssignMessage.SetOperationOutcomeODSHeaderValueNotInPartnerList">
2+
<AssignVariable>
3+
<Name>status_code</Name>
4+
<Value>403</Value>
5+
</AssignVariable>
6+
<AssignVariable>
7+
<Name>op_outcome_issue_code</Name>
8+
<Value>forbidden</Value>
9+
</AssignVariable>
10+
<AssignVariable>
11+
<Name>faultstring</Name>
12+
<Value>Unauthorised ODS code provided in NHSD-End-User-Organisation-ODS header</Value>
13+
</AssignVariable>
14+
</AssignMessage>

proxies/live/apiproxy/policies/FlowCallout.EUOAllowlistRequired.xml

Lines changed: 0 additions & 5 deletions
This file was deleted.

proxies/live/apiproxy/targets/ers-target.xml

Lines changed: 68 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,70 @@
106106
</Step>
107107
<Condition>(raisefault.RaiseFault.MissingAsid.failed = true)</Condition>
108108
</FaultRule>
109+
<FaultRule name="single_asid_ods_header_not_in_partner_list_error">
110+
<Step>
111+
<Condition>(isFhirR4Path = false)</Condition>
112+
<Name>AssignMessage.SetOperationOutcomeVariablesPreR4</Name>
113+
</Step>
114+
<Step>
115+
<Name>AssignMessage.SetOperationOutcomeODSHeaderValueNotInPartnerList</Name>
116+
</Step>
117+
<Step>
118+
<Name>AssignMessage.OperationOutcomeErrorResponse</Name>
119+
</Step>
120+
<Condition>(raisefault.RaiseFault.403Forbidden = true) and (isFhirR4Path = false)</Condition>
121+
</FaultRule>
122+
<FaultRule name="single_asid_ods_header_not_in_partner_list_error_fhir_r4">
123+
<Step>
124+
<Condition>(isFhirR4Path = true)</Condition>
125+
<Name>AssignMessage.SetOperationOutcomeVariablesR4</Name>
126+
</Step>
127+
<Step>
128+
<Condition>(isFhirR4Path = false)</Condition>
129+
<Name>AssignMessage.SetOperationOutcomeVariablesPreR4</Name>
130+
</Step>
131+
<Step>
132+
<Name>AssignMessage.SetOperationOutcomeIssueIal</Name>
133+
</Step>
134+
<Step>
135+
<Name>AssignMessage.OperationOutcomeErrorResponse</Name>
136+
</Step>
137+
<Condition>(raisefault.RaiseFault.401InsufficientIal.failed = true)</Condition>
138+
</FaultRule>
139+
<FaultRule name="single_asid_ods_header_missing_error">
140+
<Step>
141+
<Condition>(isFhirR4Path = true)</Condition>
142+
<Name>AssignMessage.SetOperationOutcomeVariablesR4</Name>
143+
</Step>
144+
<Step>
145+
<Condition>(isFhirR4Path = false)</Condition>
146+
<Name>AssignMessage.SetOperationOutcomeVariablesPreR4</Name>
147+
</Step>
148+
<Step>
149+
<Name>AssignMessage.SetOperationOutcomeIssueIal</Name>
150+
</Step>
151+
<Step>
152+
<Name>AssignMessage.OperationOutcomeErrorResponse</Name>
153+
</Step>
154+
<Condition>(raisefault.RaiseFault.401InsufficientIal.failed = true)</Condition>
155+
</FaultRule>
156+
<FaultRule name="single_asid_ods_header_missing_error_fhir_r4">
157+
<Step>
158+
<Condition>(isFhirR4Path = true)</Condition>
159+
<Name>AssignMessage.SetOperationOutcomeVariablesR4</Name>
160+
</Step>
161+
<Step>
162+
<Condition>(isFhirR4Path = false)</Condition>
163+
<Name>AssignMessage.SetOperationOutcomeVariablesPreR4</Name>
164+
</Step>
165+
<Step>
166+
<Name>AssignMessage.SetOperationOutcomeIssueIal</Name>
167+
</Step>
168+
<Step>
169+
<Name>AssignMessage.OperationOutcomeErrorResponse</Name>
170+
</Step>
171+
<Condition>(raisefault.RaiseFault.401InsufficientIal.failed = true)</Condition>
172+
</FaultRule>
109173
</FaultRules>
110174
<PreFlow>
111175
<Request>
@@ -119,10 +183,6 @@
119183
<Name>OauthV2.VerifyAccessToken</Name>
120184
</Step>
121185
<!-- Must be placed after Authentication -->
122-
<Step>
123-
<Name>FlowCallout.EUOAllowlistRequired</Name>
124-
<Condition>(accesstoken.auth_type == "user")</Condition>
125-
</Step>
126186
<Step>
127187
<Name>FlowCallout.ExtendedAttributes</Name>
128188
<Condition>(flow.shouldInvokeEUOAllowlist = true)</Condition>
@@ -173,6 +233,10 @@
173233
</Step> <!--AUTHORISED_APPLICATION business function is not supported in user restricted flow --><Step>
174234
<Name>RaiseFault.403Forbidden</Name>
175235
<Condition>(request.header.nhsd-ers-business-function == "AUTHORISED_APPLICATION")</Condition>
236+
</Step> <Step>
237+
<Name>RaiseFault.403Forbidden</Name>
238+
<Condition>(EUOAllowlistVerify.verified = false)</Condition>
239+
</Step> <Step>
176240
</Step> <Step>
177241
<Name>AssignMessage.Set.x-ers-access-mode-header-user-restricted</Name>
178242
</Step> <Step>

0 commit comments

Comments
 (0)