private void CreateAndLoginUser() { if (!IsValid) { return; } try { var user = new User(userName.Text); var manager = new IdentityAuthenticationManagerSync(); if (manager.CreateAndSignInExternalUser(new HttpContextWrapper(Context), ProviderName, user)) { IdentityConfig.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); } else { ModelState.AddModelError(String.Empty, "There was an error processing this request."); return; } } catch (IdentityException e) { ModelState.AddModelError("", e.Message); } }
protected void LogIn(object sender, EventArgs e) { if (IsValid) { // Validate the user password var manager = new IdentityAuthenticationManagerSync(); if (manager.CheckPasswordAndSignIn(new HttpContextWrapper(Context), UserName.Text, Password.Text, RememberMe.Checked)) { IdentityConfig.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); } else { FailureText.Text = "Your login attempt was not successful. Please try again."; ErrorMessage.Visible = true; } } }
protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) { var provider = Request.Form["provider"]; if (provider == null) { return; } // Request a redirect to the external login provider string redirectUrl = ResolveUrl(String.Format(CultureInfo.InvariantCulture, "~/Account/RegisterExternalLogin?{0}={1}&returnUrl={2}", IdentityConfig.ProviderNameKey, provider, ReturnUrl)); var manager = new IdentityAuthenticationManagerSync(); manager.Challenge(new HttpContextWrapper(Context), provider, redirectUrl); Response.StatusCode = 401; Response.End(); } }
protected void CreateUser_Click(object sender, EventArgs e) { string userName = UserName.Text; try { var store = new IdentityStoreManager(); var storeManager = new IdentityStoreManagerSync(store); var authManager = new IdentityAuthenticationManagerSync(new IdentityAuthenticationManager(store)); User u = new User(userName) { UserName = userName }; if (storeManager.CreateLocalUser(u, Password.Text)) { authManager.SignIn(new HttpContextWrapper(Context), u.Id, isPersistent: false); IdentityConfig.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); } } catch (IdentityException ex) { ErrorMessage.Text = ex.Message; } }
protected void Page_Load() { // Process the result from an auth provider in the request ProviderName = IdentityConfig.GetProviderNameFromRequest(Request); if (String.IsNullOrEmpty(ProviderName)) { Response.Redirect("~/Account/Login"); } if (!IsPostBack) { var manager = new IdentityAuthenticationManagerSync(); ClaimsIdentity id = manager.GetExternalIdentity(new HttpContextWrapper(Context)); if (!manager.VerifyExternalIdentity(id, ProviderName)) { ModelState.AddModelError(String.Empty, "There was an error processing this request."); return; } if (manager.SignInExternalIdentity(new HttpContextWrapper(Context), id, ProviderName)) { IdentityConfig.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); } else if (User.Identity.IsAuthenticated) { if (manager.LinkExternalIdentity(id, User.Identity.GetUserId(), ProviderName)) { IdentityConfig.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); } else { ModelState.AddModelError(String.Empty, "There was an error processing this request."); return; } } else { userName.Text = id.Name; } } }
public IEnumerable<string> GetProviderNames() { var manager = new IdentityAuthenticationManagerSync(); return manager.GetExternalAuthenticationTypes(new HttpContextWrapper(Context)).Select(t => t.AuthenticationType); }