Skip to content

Commit 41b40bc

Browse files
committed
NPA-5116 Add Generic Authorisation Documentation
1 parent e1aae11 commit 41b40bc

File tree

1 file changed

+31
-10
lines changed

1 file changed

+31
-10
lines changed

specification/validated-relationships-service-api.yaml

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -72,20 +72,41 @@ info:
7272
7373
For more details see [Network access for APIs](https://digital.nhs.uk/developer/guides-and-documentation/network-access-for-apis).
7474
75-
## Security and authorisation
75+
## Access Modes
7676
77-
This API is [user-restricted](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#user-restricted-apis), meaning an end user must be present, authenticated and authorised.
77+
This API supports both [user-restricted](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#user-restricted-apis) and [application-restricted](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#application-restricted-apis) access modes.
7878
79-
The end user must be:
80-
* a patient who receives health and social care or makes use of NHS services
81-
* strongly authenticated, using [NHS login](https://digital.nhs.uk/services/nhs-login)
79+
- [User-restricted access](#user-restricted-access) meaning an end user must be present, authenticated and authorised.
80+
- [Application-restricted access](#application-restricted-access) meaning we authenticate the calling application but not the end user
8281
83-
To use this access mode, use one of the following security patterns:
82+
For more information on access modes and how to use them, see the developer [security and authorisation guide](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation).
8483
85-
| Security pattern | Technical details | Advantages | Disadvantages |
86-
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ----------------------------------------------------| ------------------------------------------------------------|---------------------------------------------------------|
87-
|[NHS login - combined authentication and authorisation](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation/user-restricted-restful-apis-nhs-login-combined-authentication-and-authorisation) |OAuth 2.0 authorisation code with API key and secret |No need to integrate and onboard separately with NHS login. |No access to user information. |
88-
|[NHS login - separate authentication and authorisation](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation/user-restricted-restful-apis-nhs-login-separate-authentication-and-authorisation) |OAuth 2.0 token exchange with signed JWT |Gives access to user information. |Need to integrate and onboard separately with NHS login. |
84+
### User-restricted access
85+
86+
User-restricted access meaning an end user must be present, authenticated and authorised.
87+
88+
#### Patient access mode
89+
If the end user is a patient then you must use this access mode.
90+
91+
[Review all patient access modes](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#patient-access-mode)
92+
93+
Validated Relationships Service checks the patient is P9 verified and has a high [vector of trust](https://nhsconnect.github.io/nhslogin/vectors-of-trust/) (VOT).
94+
95+
Allowed vectors of trust are:
96+
- `P9.Cp.Cd`
97+
- `P9.Cp.Ck`
98+
- `P9.Cm`
99+
100+
#### Healthcare worker access mode
101+
If the end user is a healthcare worker then you must use this access mode.
102+
103+
[Review all CIS2 healthcare worker access modes](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#healthcare-worker-access-mode)
104+
105+
### Application-restricted access
106+
107+
This API is application-restricted, meaning we authenticate the calling application but not the end user.
108+
109+
[Review all application-restricted access modes](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#application-restricted-apis)
89110
90111
## Headers
91112
This API is case-insensitive when processing request headers, meaning it will accept headers regardless of the letter casing used. (e.g. X-Request-Id, x-request-id are treated the same). When sending headers back in the response, we preserve the exact casing as received in the original request.

0 commit comments

Comments
 (0)