Uso di IdentityServer3 È necessario effettuare automaticamente il login e reindirizzare un utente locale all'applicazione client dopo che l'utente ha completato un processo di registrazione. C'è un modo elegante per farlo? Dal mio scavo sospetto di no, nel qual caso c'è un trucco che posso usare per ottenere questo?Accesso automatico utente locale dopo la registrazione con IdentityServer3
Sono stato in grado di ottenere questo risultato per utenti esterni utilizzando un numero personalizzato User Service, ma questo ha utilizzato un accesso parziale. Tuttavia, per gli utenti locali non sono nel processo di autenticazione gestito dal servizio utente fino a quando non accedono con un nome utente e una password.
Si prega di notare inoltre che non ho accesso alla password degli utenti in quanto il processo di registrazione è coperto da più schermate/viste poiché in questo caso sono richieste per verificare la propria posta elettronica come parte del processo di registrazione.
Progress:
ho trovato questo https://github.com/IdentityServer/IdentityServer3/issues/563 ma non ho trovato il modo per attivare il redirect.
Sto tentando di emettere un token di autenticazione utilizzando:
var localAuthResult = userService.AuthenticateLocalAsync(user);
Request.GetOwinContext().Authentication.SignIn(new ClaimsIdentity(localAuthResult.Result.User.Claims, Thinktecture.IdentityServer.Core.Constants.PrimaryAuthenticationType));
Ma il meglio che posso fare finora è reindirizzare l'utente alla schermata di login:
HttpCookie cookie = Request.Cookies["signin"]; // Stored previously at beginning of registration process
return Redirect("~/core/login?signin=" + cookie.Value);
Grazie Gavin! Quindi è l'unico modo in cui possiamo presentare ai nostri utenti un link di registrazione attraverso il nostro sito tramite la pagina di accesso? – Tim
@Tim - Sono sicuro che ci sono anche altri modi, non sperimentato me stesso. – Gavin
@Gavin hai trovato un altro modo per favore condividere – Moes