本文整理汇总了C#中ExternalLoginConfirmationViewModel类的典型用法代码示例。如果您正苦于以下问题:C# ExternalLoginConfirmationViewModel类的具体用法?C# ExternalLoginConfirmationViewModel怎么用?C# ExternalLoginConfirmationViewModel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ExternalLoginConfirmationViewModel类属于命名空间,在下文中一共展示了ExternalLoginConfirmationViewModel类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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);
}
开发者ID:yanpaulo,项目名称:ipede,代码行数:39,代码来源:AccountController.cs
示例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);
}
开发者ID:SoftwareFactoryUPC,项目名称:ProjectTemplates,代码行数:32,代码来源:AccountController.cs
示例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);
}
开发者ID:ASP-MVC,项目名称:Twitter-Like,代码行数:34,代码来源:AccountController.cs
示例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);
}
开发者ID:joshedler,项目名称:contactmgr911,代码行数:38,代码来源:AccountController.cs
示例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;
}
开发者ID:hilakuker,项目名称:Interexts,代码行数:24,代码来源:AccountController.cs
示例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();
}
开发者ID:kidroca,项目名称:project-quiz-mvc,代码行数:29,代码来源:AccountController.cs
示例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);
}
开发者ID:clabanow,项目名称:FutureCodr,代码行数:21,代码来源:AccountController.cs
示例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);
}
开发者ID:hilakuker,项目名称:Interexts,代码行数:49,代码来源:AccountController.cs
示例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);
}
开发者ID:clabanow,项目名称:FutureCodr,代码行数:32,代码来源:AccountController.cs
示例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);
}
开发者ID:Banasen,项目名称:InvScan2,代码行数:24,代码来源:AccountController.cs
示例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);
}
开发者ID:GarageInc,项目名称:hepldesk,代码行数:47,代码来源:AccountController.cs
示例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);
}
开发者ID:BobbyBorisov,项目名称:ZealotTicketRewardingSystem,代码行数:24,代码来源:AccountController.cs
示例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);
}
开发者ID:Jumoo,项目名称:Taskily,代码行数:54,代码来源:AccountController.cs
示例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);
}
开发者ID:KuduApps,项目名称:PreviewMvc5,代码行数:30,代码来源:AccountController.cs
示例16: ExternalLoginConfirmation
public async Task<IActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl = null)
{
if (User.IsSignedIn())
{
return RedirectToAction("Index", "Manage");
}
if (ModelState.IsValid)
{
// Get the information about the user from the external login provider
var info = await SignInManager.GetExternalLoginInfoAsync();
if (info == null)
{
return View("ExternalLoginFailure");
}
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await UserManager.CreateAsync(user);
if (result.Succeeded)
{
result = await UserManager.AddLoginAsync(user, info);
if (result.Succeeded)
{
await SignInManager.SignInAsync(user, isPersistent: false);
return RedirectToLocal(returnUrl);
}
}
AddErrors(result);
}
ViewBag.ReturnUrl = returnUrl;
return View(model);
}
开发者ID:amykatenicho,项目名称:canidrive,代码行数:32,代码来源:AccountController.cs
示例17: ExternalLoginConfirmation
public async Task<IActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl = null)
{
if (_signInManager.IsSignedIn(User))
{
return RedirectToAction(nameof(ManageController.Index), "Manage");
}
if (ModelState.IsValid)
{
// Get the information about the user from the external login provider
var externalLoginInfo = await _signInManager.GetExternalLoginInfoAsync();
if (externalLoginInfo == null)
{
return View("ExternalLoginFailure");
}
var user = new ApplicationUser
{
UserName = model.Email,
Email = model.Email,
TimeZoneId = _generalSettings.Value.DefaultTimeZone,
FirstName = model.FirstName,
LastName = model.LastName,
PhoneNumber = model.PhoneNumber
};
var result = await _userManager.CreateAsync(user);
if (result.Succeeded)
{
result = await _userManager.AddLoginAsync(user, externalLoginInfo);
if (result.Succeeded)
{
await _signInManager.SignInAsync(user, isPersistent: false);
return RedirectToLocal(returnUrl, user);
}
}
AddErrorsToModelState(result);
}
ViewData["ReturnUrl"] = returnUrl;
return View(model);
}
开发者ID:shawnwildermuth,项目名称:allReady,代码行数:43,代码来源:AccountController.cs
示例18: ExternalLoginConfirmation
public async Task<IActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl = null)
{
if (User.IsSignedIn())
{
return RedirectToAction(nameof(ManageController.Index), "Manage");
}
if (ModelState.IsValid)
{
// Get the information about the user from the external login provider
var info = await _signInManager.GetExternalLoginInfoAsync();
if (info == null)
{
return View("ExternalLoginFailure");
}
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await _userManager.CreateAsync(user);
if (result.Succeeded)
{
result = await _userManager.AddLoginAsync(user, info);
if (result.Succeeded)
{
await _signInManager.SignInAsync(user, isPersistent: false);
_logger.LogInformation(6, "User created an account using {Name} provider.", info.LoginProvider);
return RedirectToLocal(returnUrl);
}
}
AddErrors(result);
}
ViewData["ReturnUrl"] = returnUrl;
return View(model);
}
开发者ID:OnetikkConsultants,项目名称:onetikkHRM,代码行数:33,代码来源:AccountController.cs
示例19: 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
ClaimsIdentity id = await HttpContext.GetExternalIdentity();
if (id == null)
{
return View("ExternalLoginFailure");
}
try
{
// Create a local user and sign in
var user = new User(model.UserName);
if (await Users.Create(user) &&
await Logins.Add(new UserLogin(user.Id, model.LoginProvider, id.FindFirstValue(ClaimTypes.NameIdentifier))))
{
await SignIn(user.Id, id.Claims, isPersistent: false);
return RedirectToLocal(returnUrl);
}
else
{
return View("ExternalLoginFailure");
}
}
catch (DbEntityValidationException e)
{
ModelState.AddModelError("", e.EntityValidationErrors.First().ValidationErrors.First().ErrorMessage);
}
}
ViewBag.ReturnUrl = returnUrl;
return View(model);
}
开发者ID:suizhikuo,项目名称:kuokuoCMS,代码行数:39,代码来源:AccountController.cs
示例20: 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 ApplicationUser() { UserName = model.UserName, Email = model.Email, IsActive = true, EmailConfirmed = true };
var result = await UserManager.CreateAsync(user);
UserManager.AddToRole(user.Id, "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:yrikturash,项目名称:SITech,代码行数:33,代码来源:AccountController.cs
注:本文中的ExternalLoginConfirmationViewModel类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论