Eligibility-Info/Pre-flight API proposal#324
Conversation
New proposal for Pre-flight API / Eligibility Info
|
Hi @shilpa-padgaonkar, thanks for submitting the API proposal. As an initial review from the API Backlog side, I see value in the problem statement, but I think a few points need to be clarified before the Backlog WG can validate the proposal for onboarding:
In any case, it must not replace the normal OAuth/OIDC access token validation performed by the Resource Server. If kept, the binding model needs to be specified: client_id, subscriber/user identifier, provider, scopes, purpose, expiry/TTL, API/version and replay protection.
|
|
@albertoramosmonagas : Thanks for your comments. Please see my responses below:
-- Sure, since the YAML was uploaded, I thought we might not need a PPT :). But we can upload one.
-- Yes, its not intended to cover operate API capabilities.
--We can use the usual rule here, where MSISDN is optional when 3-legged-access-token exists and when not, msisdn needs to be part of request. The fact that it supports multiple scopes is in line with Camara ICM, where as long as the purpose is the same, multiple scopes (spanning across APIs) can be part of the request. The application context only means that API consumers can check eligibility for mulitple API scopes (requested by an application) as long as the purpose is the same.
-- It is optional optimization hint. API providers can decide to support it in combination with the Camara service APIs they deem appropriate.
-- This does not replace normal OAuth/OIDC flows.
--API providers not supporting these values can refrain from using them. Use of context code is optional.
--It's in line with Camara and follows the same pattern as used for token request, where as long as purpose is same, multiple scopes can be part of the request. In addition, if API providers would like to only support scopes limiting to a single API, this should also be possible. |
|
the PPT it's for presenting it to the other participants at the backlog meeting. It's much easier to show that than a YAML file. API proposals at this stage of development usually don't have a YAML file because they're ideas that are developed later in the repository.
This distinction is important because subscriber-specific eligibility may involve Personal Data or user-related information
With these updates, I think the proposal will be much easier to assess in the next Backlog WG session. |
|
For point4: |
Thanks @shilpa-padgaonkar. Just to clarify, I was not suggesting that Since we are unlikely to have a globally accepted exhaustive set of context codes, I think the standardized set should remain minimal and privacy-preserving, while allowing provider-specific extensions where legally supported. In short:
This would preserve flexibility while avoiding sensitive context values becoming a de facto CAMARA-wide interoperability expectation. |
|
Some comments from Commonalities perspective: ### API Scope:
### API Design: Request:
Response:
NOTE: The underlying idea (as far as i understand) is that this header serves to "avoid" additional checks and provides a suggestion for a positive or negative response. Even the purpose is that the prior invocation of this eligibility API already provides information on whether an error will occur. So an API Consumer can decide to not trigger specific API request in advance.
NOTE: Error Info model and properties of the API would be needed to be aligned with Commonlities Data types guidance (OWASP related alignment coming from Spring26). Just for having track of it. |
|
I think that eligibilityResponseId is a bearer token and the API should not restrict that to be a uuidv4. The format should be the choice of the CSP. Note that the auth_req_id from CIBA, which might have been the inspiration for eligibilityResponseId, is restricted to 'A'-'Z', 'a'-'z', '0'-'9', '.', '-' and '_', which are all characters of a JWE compact-serialization. |
What type of PR is this?
Add one of the following kinds:
What this PR does / why we need it:
API proposal for Eligibility-Info or Preflight API
Which issue(s) this PR fixes:
Fixes #323
Special notes for reviewers:
Changelog input
Additional documentation
This section can be blank.