italia / eudi-wallet-it-docs

Italian EUDI Wallet Technical Specifications
Creative Commons Zero v1.0 Universal
56 stars 20 forks source link

[Relying Party Solution] [Remote Flow] Possibile imprecisione al termine del flusso di autenticazione #386

Closed Zicchio closed 2 months ago

Zicchio commented 3 months ago

Al termine del flusso di autenticazione del Relying Party, il grafico del flusso di autenticazione suggerisce che il Relying Party risponde al Walllet fornendo sempre un redirect URI, sia nel caso cross device che nel caso same device - step descritto qui https://github.com/italia/eudi-wallet-it-docs/blob/17cbee313217225dfb53394683027cd3516a8cda/docs/en/remote-flow.rst?plain=1#L72-L73

Tuttavia questo comportamento mi sembra abbastanza inusuale per due motivi:

  1. La Wallet Instance quando riceve un redirect uri DEVE reindirizzare lo user agent su questo URI (fonte), comportamento che secondo me è abbastanza inaspettato nel caso cross device in quanto le interazioni per la prosecuzione delle operazioni ("accesso alla risorsa protetta") avvengono nello user agent dell'RP, non in quello della Wallet Instance
  2. Il lessico di oid4vp draft21 e delle specifiche italiane suggerisce che ci sono casi il cui il redirect URI non viene trasmesso (si veda qui e qui)

Forse erroneamente io concludo che il possibile comportamento attesso sia quello di fornire il redirect uri alla wallet instance solo nel caso del flusso same device, mentre nel caso cross device la risposta potrebbe essere un generico OK 200 senza content (o almeno, senza redirect_uri). In altre parole, leggendo le specifiche mi aspetto una un flusso che termina all'incirca in questo modo (scusate lo schema grezzo, non ho familiarità con tools più idonei)

Presentazione senza titolo

La mia conclusione è corretta o invece come da specifiche correnti al termine del flusso viene emesso viene trasmesso al Wallet un redirect URI sia nel caso cross device che nel caso same device?

peppelinux commented 2 months ago

here the fix

the PR will bring this fix in the seq diagram and the update of the steps descriptions as well