How to pass the asp.Identity object to a second register page <p>I am building a much more advanced registration process which consists of 3 pages, the first page is a form that grabs a username(email form) and a password with confirmation. The button click on this page creates the user in an unverified state in the db and redirects to the page where the profile is created. Once the create profile button is clicked and the profile is created in the db the redirect takes you to the Credit Card info page where the form is filled out, the credit card is verified and then that info is written to a table in the database.</p> <p>I have disabled the loggedin user display in the header so that I can use the registrants First and Last name which arent entered until the Credit Card page. Since the identityUser is required for the sign on and thus to populate the loggedin user control, how can I pass this object from page to page? </p> <p><strong>Code where original template was logging in the user</strong>: (Note:I commented out the sign in code)</p> <pre><code> Protected Sub CreateUser_Click(sender As Object, e As EventArgs) Dim userName As String = UserNameCtrl.Text Dim manager = New UserManager() Dim newuser = New IdentityUser() With {.UserName = userName} manager.UserValidator = New UserValidator(Of IdentityUser)(manager) With {.AllowOnlyAlphanumericUserNames = False} Dim result = manager.Create(newuser, Password.Text) If result.Succeeded Then Session("email") = newuser.UserName Session("userid") = newuser.Id.ToString() 'uncomment the code below if you want the auto sign in to occur 'IdentityHelper.SignIn(manager, newuser, isPersistent:=False) IdentityHelper.RedirectToReturnUrl(Page.ResolveUrl("~/Account/CreateProfile.aspx?Guid=" &amp; newuser.Id.ToString()), Response) Else ErrorMessage.Text = Encoder.HtmlEncode(result.Errors.FirstOrDefault()) End If End Sub </code></pre> <p>I now call this routine to sign in the user once the third page of the registration process is completed. (Session("userid") is the new registrants generated userid)</p> <pre><code> Private Sub SignInUserOnFormCompletion() Dim manager = New UserManager() manager.UserValidator = New UserValidator(Of IdentityUser)(manager) With {.AllowOnlyAlphanumericUserNames = False} Dim newuser = New IdentityUser() With {.Id = Session("userid").ToString()} IdentityHelper.SignIn(manager, newuser, isPersistent:=False) End Sub </code></pre> <p>The problem is the above doesnt work as the newuser somehow has different credentials. How can I pass the original newuser from the first page to the third page where I can use it in the SignInUserOnFormCompletion subroutine? Do I create a cookie and pass it around that way? This is a new topic for me so I'm not familiar with the proper methods to accomplish this.</p>