public IUser CreateUser(OpenAuthCreateUserParams createUserParams) { string emailAddress = string.Empty; if (createUserParams.UserName.IsEmailAddress()) { emailAddress = createUserParams.UserName; } var creatingContext = new CreatingOpenAuthUserContext(createUserParams.UserName, emailAddress, createUserParams.ProviderName, createUserParams.ProviderUserId, createUserParams.ExtraData); _openAuthUserEventHandlers.Invoke(o => o.Creating(creatingContext), Logger); var createdUser = _membershipService.CreateUser(new CreateUserParams( _usernameService.Calculate(createUserParams.UserName), _passwordGeneratorService.Generate(), creatingContext.EmailAddress, @T("Auto Registered User").Text, _passwordGeneratorService.Generate() /* Noone can guess this */, true )); var createdContext = new CreatedOpenAuthUserContext(createdUser, createUserParams.ProviderName, createUserParams.ProviderUserId, createUserParams.ExtraData); _openAuthUserEventHandlers.Invoke(o => o.Created(createdContext), Logger); return(createdUser); }
public IUser CreateUser(OpenAuthCreateUserParams createUserParams) { string emailAddress = string.Empty; if (createUserParams.UserName.IsEmailAddress()) { emailAddress = createUserParams.UserName; } else { foreach (var key in createUserParams.ExtraData.Keys) { switch (key.ToLower()) { case "mail": case "email": case "e-mail": case "email-address": emailAddress = createUserParams.ExtraData[key]; break; } } } createUserParams.UserName = _usernameService.Normalize(createUserParams.UserName); var creatingContext = new CreatingOpenAuthUserContext( createUserParams.UserName, emailAddress, createUserParams.ProviderName, createUserParams.ProviderUserId, createUserParams.ExtraData); _openAuthUserEventHandlers.Invoke(o => o.Creating(creatingContext), Logger); // check UserName if (String.IsNullOrEmpty(createUserParams.UserName)) { return(null); } else { // The default IMemebershipService from Orchard.Users fires the following user events: // Creating, Created, and Approved (see the last parameter of the CreateUserParams) var createdUser = _membershipService.CreateUser(new CreateUserParams( _usernameService.Calculate(createUserParams.UserName), // this tries to make a unique username by adding a number to its end _passwordGeneratorService.Generate(), creatingContext.EmailAddress, @T("Auto Registered User").Text, _passwordGeneratorService.Generate() /* Noone can guess this */, true, false )); // _membershipService.CreateUser may fail and return null if (createdUser != null) { var createdContext = new CreatedOpenAuthUserContext(createdUser, createUserParams.ProviderName, createUserParams.ProviderUserId, createUserParams.ExtraData); _openAuthUserEventHandlers.Invoke(o => o.Created(createdContext), Logger); } return(createdUser); } }
public void CreateOrUpdateAccount(string providerName, string providerUserId, IUser user, IDictionary <string, string> providerUserData = null) { if (user == null) { throw new MembershipCreateUserException(MembershipCreateStatus.ProviderError); } var record = _userProviderServices.Get(providerName, providerUserId); var providerData = providerUserData == null ? null : providerUserData.ToJson(); var eventContext = new CreatedOpenAuthUserContext(user, providerName, providerUserId, providerUserData); if (record == null) { _userProviderServices.Create(providerName, providerUserId, user, providerData); _openAuthUserEventHandler.ProviderRecordCreated(eventContext); } else { _userProviderServices.Update(providerName, providerUserId, user, providerData); } _openAuthUserEventHandler.ProviderRecordUpdated(eventContext); }
public void ProviderRecordUpdated(CreatedOpenAuthUserContext context) { _workflowManager.TriggerEvent("OpenAuthRecordUpdated", context.User.ContentItem, () => new Dictionary <string, object> { { "User", context.User }, { "ProviderName", context.ProviderName }, { "ProviderUserId", context.ProviderUserId }, { "ExtraData", context.ExtraData } }); }
public void Created(CreatedOpenAuthUserContext context) { }
public void ProviderRecordUpdated(CreatedOpenAuthUserContext context) { }