using VberZero.BaseSystem.MultiTenancy;
using VberZero.BaseSystem.Users;
namespace VberZero.Authorization.Users;
///
/// 这是一个帮助器基类,可以轻松更新 。
/// 默认实现一些方法,但您可以覆盖所有方法。
///
public abstract class DefaultExternalAuthenticationSource : IExternalAuthenticationSource
{
///
public abstract string Name { get; }
///
public abstract Task TryAuthenticateAsync(string userNameOrEmailOrPhone, string plainPassword, Tenant? tenant);
///
public virtual Task CreateUserAsync(string userNameOrEmailPhone, Tenant? tenant)
{
return Task.FromResult(
new User
{
UserName = userNameOrEmailPhone,
Name = userNameOrEmailPhone,
Surname = userNameOrEmailPhone,
EmailAddress = userNameOrEmailPhone,
IsEmailConfirmed = true,
IsActive = true
});
}
///
public virtual Task UpdateUserAsync(User user, Tenant? tenant)
{
return Task.FromResult(0);
}
}