REST and Core LTANS Adapter
Map identity, profiles, data, operations, states and errors from product APIs to the Core.
From product REST to preservation engine
WSO2 receives API calls; LTANS API Services enforce business grants/orchestration; the adapter maps contracts without losing semantics; the Core executes supported operations. Keycloak issues identity/tokens rather than processing archives.
| Component | Responsibility |
|---|---|
| WSO2 API Manager/Gateway | Gateway, API publication, access policies and rate limits; not a business-authorization replacement. |
| Keycloak | Authorization server/IAM: clients, service accounts, tokens and federation; configured JWKS/introspection. |
| LTANS API Services | Organization/record authorization, idempotency, Jobs and orchestration; trust verified identity. |
| Core LTANS Adapter | Map protocol, profiles, IDs, states and errors while preserving bytes and semantics. |
| Core LTANS | Profile-driven preservation engine; publish XMLERS/ERS capability only for tested syntax. |
| Webhook Delivery | Ninth logical delivery group; binds events/retry/dead-letter without inventing native Core operations. |
Mapping against ADSS v8.3.3 chapter 11
Reference: March 2024, Document Version 1.0.0, pages 129–136. LTAP/XML and HTTP interfaces are not automatically Mobile-ID REST/JSON. Test the adapter/profile against the actual Core version; this table is a target mapping.
| Object / operation | Mapping | Control |
|---|---|---|
| Client identity | OAuth client/service account → backend mapping → registered clientID. | Do not grant Core rights from a self-declared clientID. |
| Profile / service | profileId, policyId and serviceID have distinct roles; map SetPolicyID(profile) under the SDK. | Retain applied policy version and client-authorized profile. |
| Archive | POST /v1/archives → validate bytes/custody/profile → Core archive → receipt/Job. | 202 does not establish evidence readiness. |
| Status | GET archive/status and Job → separate protocol, execution and archive status. | granted/rejected is not VALID/INVALID. |
| List IDs | GET /v1/archives → authorized filters/pagination/tenant → Core listids when supported. | Agree filters, sorting, continuation and metadata scope. |
| Verify | POST verification → assessment profile → Core verify → VerificationReport. | Successful execution does not force VALID. |
| Export | POST exports, GET export → Core export → manifest/byte download. | Metadata proves neither download nor verification. |
| Renew | POST /v1/renewals → mode/data/grant checks → reference Core HTTP renewal. | PDF v8.3.3 describes HTTP renewal; HTTP does not imply REST/JSON. |
| Delete / disposition | Disposition API → retention + all holds + approval → profile-governed Core delete. | No direct deletion bypassing controls. |
| Data / MIME / path | Bytes/ingest channel → SetData/SetDataType; paths only through approved connectors. | No arbitrary filesystem path or URL fetching. |
| Reference / IDs | Keep sourceReference, Core transactionId, correlationId, requestId, nonce and idempotency key distinct. | Replay nonce is not idempotency; correlation grants no rights. |
| Evidence output | GetData/timestamp tokens/XML input → resource, byte channel and sourced report. | Check actual syntax/tools; JSON relabeling is not XMLERS. |
| REST-only governance | Legal hold, transfer acknowledgement and webhook may belong to the Mobile-ID product layer. | Do not label them native ADSS operations unless documented. |
Protocol versions to confirm
The reference PDF describes LTAP draft-07; inherited adapter documentation describes draft-08. Freeze the Core/protocol/SDK/profile versions and interoperability cases before claiming compatibility. Do not equate the drafts or HTTP mode with one REST contract.
What must survive the adapter
Retain request/correlation/Core transaction/Job mappings, profile/policy revisions, custody and byte digest. Timeout does not authorize another archive creation. The command owner rejects the same idempotency key with changed payload. Normalize public errors while retaining authorized internal diagnostics.