ASP.Net-OWIN Реализация типа доступа client_credentials типа OAuth2 с помощью UserManager - PullRequest
0 голосов
/ 12 декабря 2018

при создании нового проекта в 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);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...