Customer Journey - Dashboard, Find & Resource Registration ┌─────┐ ┌─────────────────────┐ ┌────────────────┐ │User │ ┌─────────┐ ┌───┐ ┌──────────┐ │Authorisation Service│ │Pension Provider│ │Agent│ │Dashboard│ │PFS│ │ID Service│ │ UMA-AS │ │Resource Server │ └──┬──┘ └────┬────┘ └─┬─┘ └────┬─────┘ └──────────┬──────────┘ └───────┬────────┘ │ [01] local login 'alice' │ │ │ │ │ │───────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ [02] find pensions │ │ │ │ │ │───────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │[03] redirect to PFS(alice@DBi) │ │ │ │ │ │<───────────────────────────────│ │ │ │ │ │ │ │ │ │ │ │ [04] find pensions(alice@DBi) │ │ │ │ │────────────────────────────────────────────────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ ────┐ │ │ │ │ │ │ [05] intro for customer │ │ │ │ │ <───┘ │ │ │ │ │ │ │ │ │ │ [06] redirect to AS Policy & Consent Service(alice@DBi) │ │ │ │ │<────────────────────────────────────────────────────────────────────────────────│ │ │ │ │ │ │ │ │ │ │ │ ╔═══════════════╧════════════════╗ │ │ │ │ │ ║AS is Trust Anchor ░║ │ │ │ │ │ ║PFS is orchestrating & finding ║ │ │ │ │ │ ╚═══════════════╤════════════════╝ │ │ │ │ │ [07] redirect to Consent UI('PFS-find-direct-registration', alice@DBi) │ │ │ │────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ ╔═══════════╧═════════════╗ │ │ │ │ │ ║Assure that alice=ALICE ░║ │ │ │ │ │ ╚═══════════╤═════════════╝ │ │ │ [08] redirect to ID Service │ │ │ │<────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ │ │ │ │ │ │ │ │ │ [09] authenticate() │ │ │ │ │─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────> │ │ │ │ │ │ │ │ │ │ [10] unwind(ALICE) │ │ │ │ │<───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── │ │ │ │ │ │ │ │ │ │ [11] unwind(ALICE) │ │ │ │────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ [12] consentToRegister(ALICE) │ │ │ │────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ [13] setupUMAPolicy(ALICE, alice@DBi) │ │ │ │────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ ╔═══════════════════╧════════════════════╗ │ │ │ │ │ ║PAT/ResourceIDs not known, ░║ │ │ │ │ │ ║so setting policy before registration. ║ │ │ │ │ │ ╚═══════════════════╤════════════════════╝ │ │ │ [14] unwind(ALICE) │ │ │ │<────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ │ │ │ │ │ │ │ │ [15] unwind(ALICE) │ │ │ │ │────────────────────────────────────────────────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ ────┐ │ │ │ │ │ [16] InitiateFind(ALICE, alice@DBi) │ │ │ │ <───┘ │ │ │ │ │ │ │ │ │ │ [17] unwind │ │ │ │ │<────────────────────────────────────────────────────────────────────────────────│ │ │ │ │ │ │ │ │ │ │ [18] unwind │ │ │ │ │ │───────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ╔═══════╤══════╪════════════════════════════════════════════════╪═══════════════════════════════════════╪═══════════════════════════╪═════════════════════════════════════════╪══════════════════╗ │ ║ LOOP │ orchestrate find(ALICE, alice@DBi) async find │ │ │ │ ║ │ ╟───────┘ │ │ │ │ │ ║ │ ║ │ │ │[19] find(ALICE, alice@DBi)│ │ ║ │ ║ │ │────────────────────────────────────────────────────────────────────────────────────────────────────────────>│ ║ │ ║ │ │ │ │ │ ║ │ ║ │ │ │ ╔════════════════╧═════════════════╗ │ ║ │ ║ │ │ │ ║async so messages may be delayed ░║ │ ║ │ ║ │ │ │ ║hence messaging callback below ║ │ ║ │ ║ │ │ │ ╚════════════════╤═════════════════╝ │ ║ │ ║ │ │ │ ╔════════════════════╧═════════════════════╗ │ ║ │ ║ │ │ │ ║Assumes PFS is source of ID ALICE token, ░║ │ ║ │ ║ │ │ │ ║signed by AS, for PAT issuance when a ║ │ ║ │ ║ │ │ │ ║pension is found for ALICE ║ │ ║ │ ║ │ │ │ ╚════════════════════╤═════════════════════╝ │ ║ │ ║ │ │ │ │ [20] obtainPAT(RSi, ALICE) │ ║ │ ║ │ │ │ │ // only for *first* Alice Resource │ ║ │ ║ │ │ │ │ <──────────────────────────────────────── ║ │ ║ │ │ │ │ │ ║ │ ║ │ │ │ │ [21] register(PAT, RSi/Cust/ALICE/Ben/i,│ ║ │ ║ │ │ │ │ (self, delgate, value)) │ ║ │ ║ │ │ │ │ <──────────────────────────────────────── ║ │ ║ │ │ │ │ │ ║ │ ║ │ │ │ [22] found(DBi, alice@DBi,│ │ ║ │ ║ │ │ │ RSi/Cust/ALICE/Ben/i) │ │ ║ │ ║ │ │<────────────────────────────────────────────────────────────────────────────────────────────────────────────│ ║ │ ║ │ │ │ │ │ ║ │ ║ │[23] DBi:found(alice@DBi, RSi/Cust/ALICE/Ben/i) │ │ │ │ ║ │ ║ │<───────────────────────────────────────────────│ │ │ │ ║ │ ║ │ │ │ │ │ ║ │ ║ ────┐ │ │ │ │ ║ │ ║ │ [24] showIncrementalFind( │ │ │ │ ║ │ ║ <───┘ async-return-from-PFS) │ │ │ │ ║ │ ║ │ │ │ │ ║ │ ╚══════════════╪════════════════════════════════════════════════╪═══════════════════════════════════════╪═══════════════════════════╪═════════════════════════════════════════╪══════════════════╝ │ │ │ │ │ │ │ ╔══════════════════╧═══════════════════╗ │ │ │ │ │ ║Continue to Valuation of assets flow ░║ │ │ │ │ ┌──┴──┐ ╚══════════════════════════════════════╝ ┌─┴─┐ ┌────┴─────┐ ┌──────────┴──────────┐ ┌───────┴────────┐ │User │ │Dashboard│ │PFS│ │ID Service│ │Authorisation Service│ │Pension Provider│ │Agent│ └─────────┘ └───┘ └──────────┘ │ UMA-AS │ │Resource Server │ └─────┘ └─────────────────────┘ └────────────────┘