|
|
|
@ -75,7 +75,7 @@ public class RegisterModel : AccountPageModel
|
|
|
|
|
return Page();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private async Task TrySetEmailAsync()
|
|
|
|
|
protected virtual async Task TrySetEmailAsync()
|
|
|
|
|
{
|
|
|
|
|
if (IsExternalLogin)
|
|
|
|
|
{
|
|
|
|
@ -98,7 +98,8 @@ public class RegisterModel : AccountPageModel
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Input = new PostInput { EmailAddress = emailClaim.Value };
|
|
|
|
|
var userName = await GetUserNameFromEmail(emailClaim.Value);
|
|
|
|
|
Input = new PostInput { UserName = userName, EmailAddress = emailClaim.Value };
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -122,7 +123,7 @@ public class RegisterModel : AccountPageModel
|
|
|
|
|
return RedirectToPage("./Login");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
await RegisterExternalUserAsync(externalLoginInfo, Input.EmailAddress);
|
|
|
|
|
await RegisterExternalUserAsync(externalLoginInfo, Input.UserName, Input.EmailAddress);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
@ -156,11 +157,11 @@ public class RegisterModel : AccountPageModel
|
|
|
|
|
await SignInManager.SignInAsync(user, isPersistent: true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected virtual async Task RegisterExternalUserAsync(ExternalLoginInfo externalLoginInfo, string emailAddress)
|
|
|
|
|
protected virtual async Task RegisterExternalUserAsync(ExternalLoginInfo externalLoginInfo, string userName, string emailAddress)
|
|
|
|
|
{
|
|
|
|
|
await IdentityOptions.SetAsync();
|
|
|
|
|
|
|
|
|
|
var user = new IdentityUser(GuidGenerator.Create(), emailAddress, emailAddress, CurrentTenant.Id);
|
|
|
|
|
var user = new IdentityUser(GuidGenerator.Create(), userName, emailAddress, CurrentTenant.Id);
|
|
|
|
|
|
|
|
|
|
(await UserManager.CreateAsync(user)).CheckErrors();
|
|
|
|
|
(await UserManager.AddDefaultRolesAsync(user)).CheckErrors();
|
|
|
|
@ -202,7 +203,6 @@ public class RegisterModel : AccountPageModel
|
|
|
|
|
|
|
|
|
|
protected virtual async Task<List<ExternalProviderModel>> GetExternalProviders()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
var schemes = await SchemeProvider.GetAllSchemesAsync();
|
|
|
|
|
|
|
|
|
|
return schemes
|
|
|
|
|