5

Sto utilizzando l'app Thinktecture.IdentityServer.v2 per eseguire SSO per un paio di app interne, ma vorrei personalizzare la pagina di accesso per ogni applicazione per avere un'esperienza utente più fluida. Non riesco a trovare un modo per farlo.Esiste un modo per personalizzare la pagina di accesso Thinktecture.IdentityServer.v2?

È possibile personalizzare la pagina di accesso in base all'applicazione di origine da cui proviene il client?

+0

È un'applicazione MVC in modo da poter modificare il foglio di stile e l'html a proprio piacimento. – Romoku

+0

@Romoku: È un'applicazione SSO, quindi penso che fornisca alcuni hook per collegare CSS personalizzati. Vorrei mantenere il codice dell'applicazione intatto il più possibile e non doverlo modificare ogni volta che aggiungo una nuova applicazione che lo utilizza come SSO – JohnDoDo

risposta

4

"Non riesco a trovare un modo per farlo." - Quanto hai provato? ;)

L'RP ha i campi dati extra - in modo che si possa appendere come un nome CSS fuori dall'RP nel database di registrazione. Inoltre si può arrivare a che i dati RP dalla pagina di accesso - citando il commento in AccountController:

// è possibile chiamare AuthenticationHelper.GetRelyingPartyDetailsFromReturnUrl per avere maggiori informazioni circa la relying party richiesto

btw - repo github di IdentityServer ha un tracker di problemi: dovresti usarlo per le domande.

+0

Ammetto di aver completamente perso quel commento nel controller, ma in seguito ho trovato i campi dati extra su RP e ho pensato di usarli. Grazie per la risposta! Utilizzerà il repository github per altri problemi o domande di IdentityServer. Grazie ancora. – JohnDoDo

1

È sempre possibile fare in modo che l'RP passi una stringa di query personalizzata e personalizzarla. Ma sei fuori dai confini della WS-Federation a quel punto. Inoltre, è necessario pensare alla natura di SSO: l'utente sta davvero accedendo all'IdP, non all'app. Quindi cambiare l'IdP per assomigliare all'app è in qualche modo disonesto.

+2

"l'utente sta davvero collegando l'IdP, non l'app. Quindi cambiare l'IdP per assomigliare all'app è alquanto disonesto ». Sono d'accordo, ma queste sono app interne esistenti a cui gli utenti sono abituati e ora stiamo cambiando il login per tutti. Voglio apportare il cambiamento e nascondere agli utenti il ​​fatto che ora stanno facendo SSO. – JohnDoDo

0

Ho risolto questo personalizzando il SignIn.cshtml per regolare lo stile in base alle esigenze. Inoltre, ho il codice lato server nella parte superiore di SignIn.cshtml che esegue alcune corrispondenze di stringhe su ReturnUrl (Request.QueryString["ReturnUrl"]). Poi mostro un logo e un testo di intestazione diversi basati su alcuni valori che so essere unici per i diversi URL RP.

Quando l'aggiornamento a una nuova versione del ThinkTecture MVC, che sarà un piccolo lavoro per aggiornare solo questo file ai tuoi specifici (basta ricordarsi di avere una copia del vostro modificato SignIn.cshtml prima di aggiornare).

Problemi correlati