具有实体框架的Identity Server无法验证

时间:2018-11-13 18:10:58

标签: identityserver4

我正在尝试使用实体框架项目在身份服务器4中设置client_credentials授予类型。

我正在使用一个示例配置文件来填充数据库: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 :(得分:0)

当您INNER JOIN两个表(其中一个为空)(如您所述)时,结果集将始终为空,因此当client_id无法检索该客户机时,您将得到“ invalid_client”。 / p>

将一些与您的客户端链接的数据放入其中应该可以解决问题。