在Visual Studio中创建新项目时,如果单击更改身份验证按钮,则会显示4个身份验证选项。根据我的研究,个人用户帐户选项更适合我的情况。我尝试通过其密码授予类型实现client_credentials。我设法登录了用户。
现在,我需要实现UserManager以支持clientId和secretKey登录。
User Manager类具有4种查询用户的方法;
public virtual Task<TUser> FindAsync(string userName, string password);
public virtual Task<TUser> FindByEmailAsync(string email);
public virtual Task<TUser> FindByIdAsync(TKey userId);
public virtual Task<TUser> FindByNameAsync(string userName);
但是没有像这样的方法
public virtual Task<TUser> FindByClientIdAndSecretAsync(string clientId, string secretKey);
最完美的解决方案是什么?我应该创建一个吗?
编辑: 显然,用户存储界面不支持计算机用户。或者我应该使用userId作为clientId。
public interface IUserStore<TUser, in TKey> : IDisposable where TUser : class, IUser<TKey>
{
Task CreateAsync(TUser user);
Task DeleteAsync(TUser user);
Task<TUser> FindByIdAsync(TKey userId);
Task<TUser> FindByNameAsync(string userName);
Task UpdateAsync(TUser user);
}