You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: code/API_definitions/number-verification.yaml
+8-21Lines changed: 8 additions & 21 deletions
Original file line number
Diff line number
Diff line change
@@ -24,6 +24,9 @@ info:
24
24
25
25
# The Authentication Request
26
26
27
+
**For NumberVerification the API provider guarantees that there is no user interaction.** Would user interaction be needed the authorization server returns an error.
28
+
Authentication methods such as SMS OTP or user/password are incompatible, as the goal is to validate the mobile phone number that is accessing the App.
29
+
27
30
## Authentication Request with a temporary token
28
31
29
32
If the API Consumer has a TS.43 temporary token created on the mobile device then this API works over all connections e.g. WiFi taking advantage of the SIM-Based authentication.
@@ -38,6 +41,9 @@ info:
38
41
If the API Consumer does not have a TS.43 temporary token then the API Consumer must use OpenId Connect Authorization Code Flow as described in the current release of [CAMARA APIs Access and User Consent Management](https://github.com/camaraproject/IdentityAndConsentManagement).
39
42
For this method of authentication to work, the device must be connected to the mobile network.
40
43
44
+
The API Consumer should use the request parameter prompt=none in the Authentication Request, as described in **[OIDC Connect](https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest)**, ensuring no user interaction.
45
+
The API Provider implies the request parameter prompt=none in the Authentication Request for this API.
46
+
41
47
# Resources and Operations overview
42
48
43
49
This API currently provides two endpoints which both require a **3-legged token** obtained by using one of the two methods indicated in _The Authentication Request_ section. This therefore **excludes** using, for example, SMS/OTP or user/password as an authentication method:
@@ -46,25 +52,6 @@ info:
46
52
It compares the received phone number with the user's phone number associated to the access token in order to respond **true/false**.
47
53
- The /device-phone-number endpoint returns the phone number associated by the network operator with the SIM in the end user's device.
48
54
49
-
# Sequence Diagram
50
-
51
-
The following sequence diagram shows an example of a direct integration into the developer's application and the API Provider's Authorization Server and API for the case that no temporary token is available.
- **(1):** Authentication must be automatic without any user interactions.
58
-
Authentication methods such as SMS OTP or user/password are incompatible, as the goal is to validate the mobile phone number that is accessing the App.
59
-
60
-
The API Consumer should use the request parameter prompt=none in the Authentication Request, as described in **[OIDC Connect](https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest)**, ensuring no user interaction.
61
-
62
-
The API Provider implies the request parameter prompt=none in the Authentication Request for this API.
63
-
64
-
- **(2):** The way in which the phone number is retrieved depends upon the implementation.
65
-
For example, the access token may be a self-contained encrypted JWT, and so the API provider can decrypt and identify phone number directly from the access token.
66
-
Other implementations might retrieve the phone number associated with the access token from their Authorization Server.
67
-
68
55
# Authorization and authentication
69
56
70
57
The "Camara Security and Interoperability Profile" provides details of how an API consumer requests an access token. Please refer to [Identity and Consent Management](https://github.com/camaraproject/IdentityAndConsentManagement/) for the released version of the profile.
@@ -83,7 +70,7 @@ info:
83
70
84
71
As a specific rule, error `501 - NOT_IMPLEMENTED` can be only a possible error response if it is explicitly documented in the API.
0 commit comments