Identity Server с Entity Framework не может аутентифицироваться - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь настроить тип предоставления client_credentials на идентификационном сервере 4, используя проект платформы сущностей.

Я использую пример файла конфигурации для заполнения базы данных: https://github.com/IdentityServer/IdentityServer4.Demo/blob/master/src/IdentityServer4Demo/Config.cs

Эти данные вводятся в базу данных, и я пытаюсь подключиться к конечной точке токена через бессонницу, вот скриншот моей настройки:

enter image description here

В нем указано invalid_client, но я не уверен, почему, я запускал профиль SQL и каждый раз, когда я нажимал на эту конечную точку, он запускался:

exec sp_executesql N'SELECT [x.Properties].[Id], [x.Properties].[ClientId], [x.Properties].[Key], [x.Properties].[Value]
FROM [ClientProperties] AS [x.Properties]
INNER JOIN (
    SELECT TOP(1) [x8].[Id]
    FROM [Clients] AS [x8]
    WHERE [x8].[ClientId] = @__clientId_0
    ORDER BY [x8].[Id]
) AS [t7] ON [x.Properties].[ClientId] = [t7].[Id]
ORDER BY [t7].[Id]',N'@__clientId_0 nvarchar(200)',@__clientId_0=N'client'

Он пытается выполнить соединение в таблице ClientProperties, но эта таблица в настоящее время пуста. Я не уверен, если это проблема или нет.

Я что-то не так делаю?

1 Ответ

0 голосов
/ 20 ноября 2018

Когда вы INNER JOIN две таблицы, из которых одна пуста (как вы указали), результирующий набор всегда будет пустым, поэтому, когда клиент не может быть получен по client_id, вы получите «invalid_client».

Помещение в него некоторых данных, связанных с вашим клиентом, должно решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...