OpenID Connect: utilizzo di IdentityServer per SSO tra WinForms e Web Application

Ho installato Thinktecture IdentityServer e ho due applicazioni client fidate, un’app WinForms e un’applicazione Web e voglio implementare SSO tra di esse.

L’utente aprirà prima l’applicazione desktop che ha una pagina di accesso che si autentica con il server di identity framework.

L’applicazione desktop includerà alcuni collegamenti Web generati che, quando si fa clic, aprono una nuova finestra del browser in un’area protetta dell’applicazione Web che richiede l’autenticazione, tuttavia, facendo clic su questi collegamenti, non voglio che l’utente debba effettuare nuovamente il login come hanno fatto già autenticato una volta tramite l’applicazione desktop.

Sto lottando per vedere quale dei flussi può raggiungere questo objective.

Quali meccanismi, se ve ne sono, sono forniti da OpenID connect o Thinktecture IdentityServer che può facilitare questo processo?

    Non ci sono meccanismi fuori dalla scatola come l’SSO si ottiene impostando i cookie nell’agente utente (UA). Quindi, se l’utente si autentica in una webview nell’app winforms e poi avvia il browser in questo modo

    System.Diagnostics.Process.Start("http://www.website.com"); 

    per poter aprire l’app Web, ovviamente non funzionerà perché non è la stessa UA.

    Tuttavia, se usi la stessa webview per aprire la tua app web, puoi ottenerlo.