13 messaggi dal 13 febbraio 2012
Buonasera a tutti, avrei la necessità di effettuare il login su un applicativo webform (non .net core) con un IPrincipal custom. la chiamata di autenticazione parte da javascript pensavo di richiamare un servizio asmx, tuttavia non sono riuscito a trovare un modo per effettuare questa cosa.

In pratica lo scenario è il seguente, l'applicativo gira in un iframe, il chiamante manda un jwt alla webform tramite postmessage, la webform dovrebbe autenticarsi e mandare una risposta al chiamante (lo so il giro non mi piace molto, ma è un'architettura imposta dall'azienda).

Qualuno ha già sperimentato una cosa del genere e in caso darmi una dritta?

Grazie mille in anticipo
Modificato da Ninja87 il 27 novembre 2021 02:33 -
427 messaggi dal 13 novembre 2009
Ciao
Non è una critica ma usare iframe è per definizione pericoloso nel senso tecnico della navigazione. Stiamo parlando di due siti differenti? Potresti spiegare meglio il giro?
13 messaggi dal 13 febbraio 2012
Ciao, purtroppo sono consapevole di questa cosa e purtroppo l'implementazione di questa cosa mi è stata imposta, comunque provo a spiegarmi.

L'applicazione webform dovrebbe essere richiamata da un applicativo esterno quando l'utente decide di aprirla, all'apertura manda un token di autenticazione in postMessage, l'applicativo webform dovrebbe autenticarsi e dopo l'autenticazione rimanda in postMessage la risposta al chiamante (se si è autenticato oppure no), l'autenticazione deve gestire un IPrincipal custom, in quanto sono presenti delle informazioni che serviranno per utto il ciclo di vita dell'app.
Se a questo punto il login è andato a buon fine le due applicazioni comunicheranno tramite postMessage.

Ribadisco che l'iplementazione non è ben fatta né tantomeno sicura, ma mi è stata imposta.

Spero di aver chiarito il giro
427 messaggi dal 13 novembre 2009
Il problema è cosa ti aspetti che il sistema di autenticazione ti risponda. Al di la del payload come dovrebbe rispondere l'asmx con l'autenticazione?
13 messaggi dal 13 febbraio 2012
La risposta dovrebbe avere uno stato http (200, 401, ecc...) e un parametro stringa (ma vorrei avere un oggetto in modo da avere la strada pronta nel caso in cui serva qualcosa in più in futuro) da rimandare al chiamante
427 messaggi dal 13 novembre 2009
La questione è che un post ti potrebbe tornare quello che vuoi nel content. Sta a te se un token jwt con chiave privata sul server ovviamente o qualsiasi altra struttura tu voglia da memorizzare localstorage se la app che chiama asmx è un sito e la request fatta in Javascript.
È evidente che ogni altra chiamata dovrà passare quel token per essere accettata.
O devi usarla diversamente?
13 messaggi dal 13 febbraio 2012
Per come me l'ero immaginata volevo fare in modo che il token servisse solo la prima volta, cioè una volta autenticata l'app non ne avevo più bisogno (fino alla scadenza del jwt ovviamente) e quindi passare tra le pagine senza problemi, però non so se c'è un metodo migliore per fare questa cosa.
427 messaggi dal 13 novembre 2009
Se una app web prevede una autenticazione è normale che quella vada passata tutte le volte che c’è una richiesta. Pensa alla classica identity o membership Microsoft, lavorano con un cookie ad esempio e quello in maniera trasparente viene verificato ad ogni richiesta dopo una login.
Un jwt funziona alla stessa maniera. Se ad esempio tu volessi limitate accesso a delle pagina come lo faresti senza il passaggio del token che verifica nel payload se il ruolo che hai è abilitato ad accedere a quella pagina o fare qualcosa?
Quale è il problema di memorizzare il token e passarlo ad ogni request verificandoli lato server?

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.