本文整理汇总了C#中ExternalLoginConfirmationViewModel类的典型用法代码示例。如果您正苦于以下问题:C# ExternalLoginConfirmationViewModel类的具体用法?C# ExternalLoginConfirmationViewModel怎么用?C# ExternalLoginConfirmationViewModel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ExternalLoginConfirmationViewModel类属于命名空间,在下文中一共展示了ExternalLoginConfirmationViewModel类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ExternalLoginConfirmation
public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
{
if (User.Identity.IsAuthenticated)
{
return RedirectToAction("Manage");
}
if (ModelState.IsValid)
{
// Obter as informações sobre o usuário do provedor de logon externo
var info = await AuthenticationManager.GetExternalLoginInfoAsync();
if (info == null)
{
return View("ExternalLoginFailure");
}
var user = new ApplicationUser() { UserName = model.Email, Email = model.Email };
IdentityResult result = await UserManager.CreateAsync(user);
if (result.Succeeded)
{
result = await UserManager.AddLoginAsync(user.Id, info.Login);
if (result.Succeeded)
{
await SignInAsync(user, isPersistent: false);
// Para obter mais informações sobre como habilitar a confirmação de conta e a redefinição de senha, visite http://go.microsoft.com/fwlink/?LinkID=320771
// Enviar um email com este link
// string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
// var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
// SendEmail(user.Email, callbackUrl, "Confirmar sua conta", "Confirme sua conta clicando neste link");
return RedirectToLocal(returnUrl);
}
}
AddErrors(result);
}
ViewBag.ReturnUrl = returnUrl;
return View(model);
}
示例2: ExternalLoginConfirmation
public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
{
if (User.Identity.IsAuthenticated)
{
return RedirectToAction("Manage");
}
if (ModelState.IsValid)
{
// Obtener datos del usuario del proveedor de inicio de sesión externo
var info = await AuthenticationManager.GetExternalLoginInfoAsync();
if (info == null)
{
return View("ExternalLoginFailure");
}
var user = new ApplicationUser() { UserName = model.UserName };
var result = await UserManager.CreateAsync(user);
if (result.Succeeded)
{
result = await UserManager.AddLoginAsync(user.Id, info.Login);
if (result.Succeeded)
{
await SignInAsync(user, isPersistent: false);
return RedirectToLocal(returnUrl);
}
}
AddErrors(result);
}
ViewBag.ReturnUrl = returnUrl;
return View(model);
}
示例3: ExternalLoginConfirmation
public async Task<ActionResult> ExternalLoginConfirmation(
ExternalLoginConfirmationViewModel model,
string returnUrl)
{
if (this.User.Identity.IsAuthenticated)
{
return this.RedirectToAction("Index", "Manage");
}
if (this.ModelState.IsValid)
{
// Get the information about the user from the external login provider
var info = await this.AuthenticationManager.GetExternalLoginInfoAsync();
if (info == null)
{
return this.View("ExternalLoginFailure");
}
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await this.UserManager.CreateAsync(user);
if (result.Succeeded)
{
result = await this.UserManager.AddLoginAsync(user.Id, info.Login);
if (result.Succeeded)
{
await this.SignInManager.SignInAsync(user, false, false);
return this.RedirectToLocal(returnUrl);
}
}
this.AddErrors(result);
}
this.ViewBag.ReturnUrl = returnUrl;
return this.View(model);
}
示例4: ExternalLoginConfirmation
public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
{
if (User.Identity.IsAuthenticated)
{
return RedirectToAction("Manage");
}
if (ModelState.IsValid)
{
// Get the information about the user from the external login provider
var info = await AuthenticationManager.GetExternalLoginInfoAsync();
if (info == null)
{
return View("ExternalLoginFailure");
}
var externalIdentity = HttpContext.GetOwinContext().Authentication.GetExternalIdentityAsync(DefaultAuthenticationTypes.ExternalCookie);
var emailClaim = externalIdentity.Result.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email);
var email = emailClaim != null ? emailClaim.Value : null;
var user = new ApplicationUser() { UserName = model.UserName, Email = email };
var result = await UserManager.CreateAsync(user);
if (result.Succeeded)
{
result = await UserManager.AddLoginAsync(user.Id, info.Login);
if (result.Succeeded)
{
_logger.Info("Created user {0} ({1}).", user.UserName, user.Email);
await SignInAsync(user, isPersistent: false);
return RedirectToLocal(returnUrl);
}
}
AddErrors(result);
}
ViewBag.ReturnUrl = returnUrl;
return View(model);
}
示例5: ExternalLoginConfirmation
public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
{
if (User.Identity.IsAuthenticated)
{
return RedirectToAction("Manage");
}
if (ModelState.IsValid)
{
// Получение сведений о пользователе от внешнего поставщика входа
var info = await AuthenticationManager.GetExternalLoginInfoAsync();
if (info == null)
{
return View("ExternalLoginFailure");
}
var user = new User() { UserName = model.UserName };
var result = await UserManager.CreateAsync(user);
if (result.Succeeded)
{
result = await UserManager.AddLoginAsync(user.Id, info.Login);
if (result.Succeeded)
{
await SignInAsync(user, isPersistent: false);
return RedirectToLocal(returnUrl);
}
}
AddErrors(result);
}
ViewBag.ReturnUrl = returnUrl;
return View(model);
}
开发者ID:Gromila,项目名称:JustPhotoGallery,代码行数:32,代码来源:AccountController+(Gromilich-PC's+conflicted+copy+2013-12-24).cs
示例6: createUserFromFacebookInfo
private ApplicationUser createUserFromFacebookInfo(ExternalLoginConfirmationViewModel i_Model)
{
ApplicationUser userToReturn;
var externalIdentity = getExternalIdentity();
var email = externalIdentity.Result.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email).Value;
var firstName = externalIdentity.Result.Claims.FirstOrDefault(c => c.Type == "urn:facebook:first_name").Value;
var lastName = externalIdentity.Result.Claims.FirstOrDefault(c => c.Type == "urn:facebook:last_name").Value;
string gender = getGender(externalIdentity);
var userID = externalIdentity.Result.Claims.FirstOrDefault(c => c.Type == "urn:facebook:id").Value;
var birthDate = externalIdentity.Result.Claims.FirstOrDefault(c => c.Type == "urn:facebook:birthdate").Value;
var imageURL = string.Format(@"https://graph.facebook.com/{0}/picture?type=normal", userID);
//var emailClaim = externalIdentity.Result.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email);
userToReturn = new ApplicationUser()
{
UserName = GenerateUserName(i_Model.Email),
FirstName = firstName,
LastName = lastName,
Email = email,
Gender = gender,
ImageUrl = imageURL
};
return userToReturn;
}
示例7: RegisterExternal
public async Task<IHttpActionResult> RegisterExternal(ExternalLoginConfirmationViewModel model)
{
if (!this.ModelState.IsValid)
{
return this.BadRequest(this.ModelState);
}
var info = await this.Authentication.GetExternalLoginInfoAsync();
if (info == null)
{
return this.InternalServerError();
}
var user = new User() { UserName = model.Username, Email = info.Email };
IdentityResult result = await this.UserManager.CreateAsync(user);
if (!result.Succeeded)
{
return this.GetErrorResult(result);
}
result = await this.UserManager.AddLoginAsync(user.Id, info.Login);
if (!result.Succeeded)
{
return this.GetErrorResult(result);
}
return this.Ok();
}
示例8: ExternalLoginCallback
public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
{
ExternalLoginInfo loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
if (loginInfo == null)
{
return RedirectToAction("Login");
}
ApplicationUser user = await UserManager.FindAsync(loginInfo.Login);
if (user != null)
{
await SignInAsync(user, false);
return RedirectToLocal(returnUrl);
}
((dynamic)ViewBag).ReturnUrl = returnUrl;
((dynamic)ViewBag).LoginProvider = loginInfo.Login.LoginProvider;
ExternalLoginConfirmationViewModel model = new ExternalLoginConfirmationViewModel
{
UserName = loginInfo.DefaultUserName
};
return View("ExternalLoginConfirmation", model);
}
示例9: ExternalLoginConfirmation
public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
{
var errors = ModelState.Values.SelectMany(v => v.Errors);
if (User.Identity.IsAuthenticated)
{
return RedirectToAction("Manage");
}
if (ModelState.IsValid)
{
// Get the information about the user from the external login provider
var info = await AuthenticationManager_GetExternalLoginInfoAsync_Workaround();
ApplicationUser user;
if (info == null)
{
return View("ExternalLoginFailure");
}
string loginProviderLowerCase = info.Login.LoginProvider.ToLower();
if (loginProviderLowerCase == "facebook")
{
user = createUserFromFacebookInfo(model);
}
else
{
user = new ApplicationUser()
{
UserName = GenerateUserName(model.Email),
FirstName = model.FirstName,
LastName = model.LastName,
Email = model.Email,
Gender = model.Gender
};
}
var result = await UserManager.CreateAsync(user);
if (result.Succeeded)
{
result = await UserManager.AddLoginAsync(user.Id, info.Login);
if (result.Succeeded)
{
await SignInAsync(user, isPersistent: false);
return RedirectToLocal(returnUrl);
}
}
AddErrors(result);
}
ViewBag.ReturnUrl = returnUrl;
return View(model);
}
示例10: ExternalLoginConfirmation
public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
{
if (User.Identity.IsAuthenticated)
{
return RedirectToAction("Manage");
}
if (ModelState.IsValid)
{
ExternalLoginInfo asyncVariable0 = await AuthenticationManager.GetExternalLoginInfoAsync();
if (asyncVariable0 == null)
{
return View("ExternalLoginFailure");
}
ApplicationUser user = new ApplicationUser
{
UserName = model.UserName
};
IdentityResult result = await UserManager.CreateAsync(user);
if (result.Succeeded)
{
result = await UserManager.AddLoginAsync(user.Id, asyncVariable0.Login);
if (result.Succeeded)
{
await SignInAsync(user, false);
return RedirectToLocal(returnUrl);
}
}
AddErrors(result);
}
((dynamic)ViewBag).ReturnUrl = returnUrl;
return View(model);
}
示例11: ExternalLoginConfirmation
public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
{
if (User.Identity.IsAuthenticated)
{
return RedirectToAction("Manage");
}
if (ModelState.IsValid)
{
// Informationen zum Benutzer aus dem externen Anmeldeanbieter abrufen
IdentityResult result = await IdentityManager.Authentication.CreateAndSignInExternalUserAsync(AuthenticationManager, new User(model.UserName));
if (result.Success)
{
return RedirectToLocal(returnUrl);
}
else
{
AddErrors(result);
}
}
ViewBag.ReturnUrl = returnUrl;
return View(model);
}
示例12: ExternalLoginConfirmation
public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
{
if (User.Identity.IsAuthenticated)
{
return RedirectToAction("Index", "Manage");
}
if (ModelState.IsValid)
{
// Получение сведений о пользователе от внешнего поставщика входа
var info = await AuthenticationManager.GetExternalLoginInfoAsync();
if (info == null)
{
return View("ExternalLoginFailure");
}
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
//var user = new ApplicationUser
//{
// UserName = model.Email,
// Name = model.Name,
// Password = model.Password,
// Email = model.Email,
// LastVisition = curDate,
// RegistrationDate = curDate,
// UserInfo = "user",
// DateOfBlocking = curDate,
// BlockForDate = curDate,
// IsBlocked = false,
// BlockReason = "",
// Balance = 0
//};
var result = await UserManager.CreateAsync(user);
if (result.Succeeded)
{
result = await UserManager.AddLoginAsync(user.Id, info.Login);
if (result.Succeeded)
{
await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
return RedirectToLocal(returnUrl);
}
}
AddErrors(result);
}
ViewBag.ReturnUrl = returnUrl;
return View(model);
}
示例13: ExternalLoginConfirmation
public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
{
if (User.Identity.IsAuthenticated)
{
return RedirectToAction("Manage");
}
if (ModelState.IsValid)
{
// Get the information about the user from the external login provider
IdentityResult result = await IdentityManager.Authentication.CreateAndSignInExternalUserAsync(AuthenticationManager, new ApplicationUser { UserName = model.UserName });
if (result.Success)
{
return RedirectToLocal(returnUrl);
}
else
{
AddErrors(result);
}
}
ViewBag.ReturnUrl = returnUrl;
return View(model);
}
示例14: ExternalLoginConfirmation
public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
{
if (User.Identity.IsAuthenticated)
{
return RedirectToAction("Manage");
}
if (ModelState.IsValid)
{
// Get the information about the user from the external login provider
var info = await AuthenticationManager.GetExternalLoginInfoAsync();
if (info == null)
{
return View("ExternalLoginFailure");
}
var user = new TasklyUser() { UserName = model.Email, Email = model.Email };
IdentityResult result = await UserManager.CreateAsync(user);
if (result.Succeeded)
{
result = await UserManager.AddLoginAsync(user.Id, info.Login);
if (result.Succeeded)
{
await SignInAsync(user, isPersistent: false);
//
// create the organisation at sign-up
//
var organisation = new Organisation { Name = model.Organisation, AccountType = OrgAccountType.free };
var db = new TasklyDbContext();
db.Organisations.Add(organisation);
db.SaveChanges();
db.Dispose();
user.UserDisplayName = model.UserDisplayName;
user.OrganisationID = organisation.ID;
UserManager.Update(user);
DemoSurvey.CreateDemo(organisation.ID);
// For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
// Send an email with this link
// string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
// var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
// SendEmail(user.Email, callbackUrl, "Confirm your account", "Please confirm your account by clicking this link");
return RedirectToLocal(returnUrl);
}
}
AddErrors(result);
}
ViewBag.ReturnUrl = returnUrl;
return View(model);
}
示例15: ExternalLoginConfirmation
public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
{
if (User.Identity.IsAuthenticated)
{
return RedirectToAction("Manage");
}
if (ModelState.IsValid)
{
// Get the information about the user from the external login provider
try
{
if (await AuthenticationManager.CreateAndSignInExternalUser(HttpContext, model.LoginProvider, new User(model.UserName)))
{
return RedirectToLocal(returnUrl);
}
else
{
return View("ExternalLoginFailure");
}
}
catch (IdentityException e)
{
ModelState.AddModelError("", e.Message);
}
}
ViewBag.ReturnUrl = returnUrl;
return View(model);
}