public RegistrationDetails(OpenAuthenticationParameters parameters) : this() { if (parameters.UserClaims != null) { foreach (var claim in parameters.UserClaims) { //email, username if (string.IsNullOrEmpty(EmailAddress)) { if (claim.Contact != null) { EmailAddress = claim.Contact.Email; UserName = claim.Contact.Email; } } //first name if (string.IsNullOrEmpty(FirstName)) { if (claim.Name != null) { FirstName = claim.Name.First; } } //last name if (string.IsNullOrEmpty(LastName)) { if (claim.Name != null) { LastName = claim.Name.Last; } } } } }
public RegistrationDetails(OpenAuthenticationParameters parameters) : this() { if (parameters.UserClaims != null) foreach (var claim in parameters.UserClaims) { //email, username if (string.IsNullOrEmpty(EmailAddress)) { if (claim.Contact != null) { EmailAddress = claim.Contact.Email; UserName = claim.Contact.Email; } } //first name if (string.IsNullOrEmpty(FirstName)) if (claim.Name != null) FirstName = claim.Name.First; //last name if (string.IsNullOrEmpty(LastName)) if (claim.Name != null) LastName = claim.Name.Last; } }
public RegistrationDetails(OpenAuthenticationParameters parameters) : this() { if (parameters.UserClaims != null) { foreach (var claim in parameters.UserClaims) { //email, username if (string.IsNullOrEmpty(EmailAddress)) { if (claim.Contact != null) { EmailAddress = claim.Contact.Email; UserName = claim.Contact.Email; } } //first name if (string.IsNullOrEmpty(FirstName)) { if (claim.Name != null) { FirstName = claim.Name.First; } } //last name if (string.IsNullOrEmpty(LastName)) { if (claim.Name != null) { LastName = claim.Name.Last; } } if (string.IsNullOrWhiteSpace(AvatarUrl)) { if (claim.Media != null && claim.Media.Images != null) { AvatarUrl = claim.Media.Images.Default; } } //email, username if (string.IsNullOrEmpty(Password)) { if (claim.Password != null) { Password = claim.Password.Password; } } } } }
public virtual AuthorizationResult Authorize(OpenAuthenticationParameters parameters) { var userFound = _openAuthenticationService.GetUser(parameters); var userLoggedIn = _workContext.CurrentCustomer; if (AccountAlreadyExists(userFound, userLoggedIn)) { _authenticationService.SignIn(userFound, false); } else { #region Register user var currentCustomer = _workContext.CurrentCustomer; var details = new Nop.Plugin.ExternalAuth.Weixin.Authentication.External.RegistrationDetails(parameters); var randomPassword = CommonHelper.GenerateRandomDigitCode(20); var registrationRequest = new CustomerRegistrationRequest(currentCustomer, string.Empty, details.UserName, randomPassword, PasswordFormat.Clear, _storeContext.CurrentStore.Id, true); var registrationResult = _customerRegistrationService.RegisterCustomer(registrationRequest); if (registrationResult.Success) { //store other parameters (form fields) if (!String.IsNullOrEmpty(details.NickName)) { _genericAttributeService.SaveAttribute(currentCustomer, SystemCustomerAttributeNames.FirstName, details.NickName); } userFound = currentCustomer; _openAuthenticationService.AssociateExternalAccountWithUser(currentCustomer, parameters); ExternalAuthorizerHelper.RemoveParameters(); //authenticate _authenticationService.SignIn(userFound ?? userLoggedIn, false); } else { ExternalAuthorizerHelper.RemoveParameters(); var result = new AuthorizationResult(OpenAuthenticationStatus.Error); foreach (var error in registrationResult.Errors) { result.AddError(string.Format(error)); } return(result); } #endregion } return(new AuthorizationResult(OpenAuthenticationStatus.Authenticated)); }
public RegistrationDetails(OpenAuthenticationParameters parameters) : this() { if (parameters.UserClaims != null) foreach (var claim in parameters.UserClaims) { if (string.IsNullOrEmpty(EmailAddress)) { EmailAddress = claim.Contact.Email; UserName = claim.Contact.Email; } } }
public RegistrationDetails(OpenAuthenticationParameters parameters) : this() { if (parameters.UserClaims != null) { foreach (var claim in parameters.UserClaims) { if (string.IsNullOrEmpty(EmailAddress)) { EmailAddress = claim.Contact.Email; UserName = claim.Contact.Email; } } } }
/// <summary> /// 获取授权id昵称 /// </summary> /// <param name="parameters"></param> public RegistrationDetails(OpenAuthenticationParameters parameters) : this() { if (parameters.UserClaims != null) { foreach (var claim in parameters.UserClaims) { //username if (string.IsNullOrEmpty(UserName) && claim.Name != null) { UserName = claim.Name.Alias; } if (string.IsNullOrEmpty(NickName) && claim.Name != null) { NickName = claim.Name.First; } } } }
/// <summary> /// Remove the association /// </summary> /// <param name="parameters">Open authentication parameters</param> public void RemoveAssociation(OpenAuthenticationParameters parameters) { _openAuthenticationService.RemoveAssociation(parameters); }
/// <summary> /// Get the particular user with specified parameters /// </summary> /// <param name="parameters">Open authentication parameters</param> /// <returns>Customer</returns> public Customer GetUser(OpenAuthenticationParameters parameters) { return(_openAuthenticationService.GetUser(parameters)); }
/// <summary> /// Check that account exists /// </summary> /// <param name="parameters">Open authentication parameters</param> /// <returns>True if it exists; otherwise false</returns> public bool AccountExists(OpenAuthenticationParameters parameters) { return(_openAuthenticationService.AccountExists(parameters)); }
/// <summary> /// Accociate external account with customer /// </summary> /// <param name="customer">Customer</param> /// <param name="parameters">Open authentication parameters</param> public void AssociateExternalAccountWithUser(Customer customer, OpenAuthenticationParameters parameters) { _openAuthenticationService.AssociateExternalAccountWithUser(customer, parameters); }