private Uri GetRedirectUrl(SignInMessage signInMessage, AuthenticateResult authResult) { if (signInMessage == null) { throw new ArgumentNullException("signInMessage"); } if (authResult == null) { throw new ArgumentNullException("authResult"); } if (authResult.IsPartialSignIn) { var path = authResult.PartialSignInRedirectPath; if (path.StartsWith("~/")) { path = path.Substring(2); path = Request.GetIdentityServerBaseUrl() + path; } var host = new Uri(context.GetIdentityServerHost()); return(new Uri(host, path)); } else { return(new Uri(signInMessage.ReturnUrl)); } }