CAS e le sue alternative sembrano richiedere un flusso come questo quando un servizio funge da proxy per un utente quando accede a un servizio di back-end:
Il servizio A inoltra una richiesta al servizio B per conto di un utente. La richiesta include un token deperibile (ticket proxy) dal server di autenticazione. Il servizio B inoltra il token al server di autenticazione, chiedendo se è valido.
Sembra che potrebbe essere più efficiente avere il firmare del ticket di autenticazione e avere il Service B a conoscenza della chiave pubblica del server in modo che possa validare il ticket da solo, senza bisogno per la richiesta extra. Ovviamente tutte le funzionalità di single-sign-out dovrebbero essere lasciate al Service A, ma per il resto questo sembra tutto-upside: è più robusto di fronte alla latenza della rete o al server auth che scende, ed è ancora più difficile per la forza bruta di un token casuale.
Ci sono aspetti negativi o rischi che mi mancano? Qualcuno ha effettivamente implementato questo?