Я пытаюсь аутентифицировать пользователя в Identity Server 4 через / connect / token конечную точку.Я заполняю все необходимые поля в Почтальоне:
- grant_type
- имя пользователя
- пароль
- client_id
- client_secret
и я всегда получаю ответ " invalid_client ".
Я вставил значения в следующие таблицы:
- AspNetUsers
- Clients
- ClientGrantTypes
- ClientSecrets
Для таблицы AspNetUsers в столбце PasswordHash я добавил хешированный пароль, который хэшируется с SHA256.В ClientGrantTypes я добавил GrantType со значением 'password' и вставил правильный ClientId.
Вот так выглядят мои ConfigureServices:
public void ConfigureServices(IServiceCollection services)
{
string connectionString = "Server=192.168.1.108; Port=5432; Database=Users; User Id=postgres;Password=RandomPassword123";
var migrationsAssembly = typeof(Startup).GetTypeInfo().Assembly.GetName().Name;
services.AddIdentityServer()
.AddConfigurationStore(options =>
{
options.ConfigureDbContext = builder =>
{
builder.UseNpgsql(connectionString, action =>
{
action.MigrationsAssembly(migrationsAssembly);
});
};
})
.AddAspNetIdentity<Users>().AddConfigurationStore(options=>
{
options.ConfigureDbContext = builder =>
{
builder.UseNpgsql(connectionString, action =>
{
action.MigrationsAssembly(migrationsAssembly);
});
};
}).AddDeveloperSigningCredential();
services.AddEntityFrameworkNpgsql();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
Я пытаюсь выяснить, что я делаю неправильно, поэтому любая помощь будет оценена.
РЕДАКТИРОВАТЬ :
Я включил ведение журнала.Это скриншот того, что у меня есть в Почтальоне: http://i.imgur.com/Sk78V2y.png
И это полный журнал Identity Server:
[21:25:46 Отладка] IdentityServer4.Hosting.EndpointRouter Путь запроса / соединение / токен соответствует типу конечной точки Токен
[21:25:46 Отладка] IdentityServer4.Hosting.EndpointRouter Конечная точка включена: токен, успешно созданный обработчик: IdentityServer4.Endpoints.TokenEndpoint
[21:25:46 Информация] IdentityServer4.Hosting.IdentityServerMiddleware Вызывает конечную точку IdentityServer: IdentityServer4.Endpoints.TokenEndpoint для / connect / token
[21:25:46 Отладка] IdentityServer4.Endpopoint.ken запрос toenen.
[21:25:46 Отладка] IdentityServer4.Validation.ClientSecretValidator Запустить проверку клиента
[21:25:46 Отладка] IdentityServer4.Validation.BasicAuthenticationSecretParser Начать синтаксический анализ секретной базовой аутентификации
[21:25:46 Отладка] IdentityServer4.Validation.SecretParser Parser обнаружил секрет: BasicAuthenticationSecretParser
[21:25:46 Отладка] IdentityServer4.Validation.SecretParser Секретный идентификатор найден: Ryukote
[21:25:46 Отладка] IdentityServer4.EntityFramework.Stores.ClientStore База данных найдена в Рюкоте: False
[21:25:46 Ошибка] IdentityServer4.Validation.ClientSecretValidator Не найден клиент с идентификатором 'Ryukote'.прерывание
Журнал сбивает меня с толку, потому что есть вещи, которые не соответствуют действительности.Это можно подтвердить, посмотрев предоставленный мною скриншот Postman.