Sto implementando una soluzione IAM cliente utilizzando WSO2 Identity Server 4.5.1. Una delle (poche) applicazioni che si integrano con me tramite Open ID connect ha rilevato un comportamento imprevisto e ho bisogno di aiuto per risolvere se questo è un comportamento corretto per Open Id Connect o se il prodotto si comporta in modo errato.
Quando l'utente effettua l'autenticazione, viene restituito un token ID e un codice di autorizzazione. ID_Token contiene tutti gli attributi utente e i ruoli applicabili, così come l'endpoint Userinfo se interrogato dopo lo scambio del codice di autorizzazione. Dopo un periodo di tempo, l'applicazione vorrà aggiornare la propria sessione e rimandare l'utente all'OP per ottenere un nuovo token ID. Funziona, ma per qualche ragione, ID-Token (e Endpoint Userinfo) restituirà solo il "sub" su questo secondo approccio.
D: È così che dovrebbe funzionare OIDC?
PS. L'altro strano comportamento che ho notato (che potrebbe essere collegato in qualche modo) è che access_tokens generati durante lo scambio di codice per questa applicazione ottengono una durata di 300.000 secondi. Molto più di quello che ho configurato (ovunque!). Non succede quando access_tokens viene consegnato tramite la concessione implicita. Non riesco a vedere alcun motivo per cui ciò potrebbe accadere, ma se ce n'è uno sarei felice di sentirlo.