我正在尝试使用实体框架项目在身份服务器4中设置client_credentials授予类型。
我正在使用一个示例配置文件来填充数据库:https://github.com/IdentityServer/IdentityServer4.Demo/blob/master/src/IdentityServer4Demo/Config.cs
此数据已输入数据库,我尝试通过失眠连接到令牌端点,这是我的设置的屏幕截图:
它声明了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表执行联接,但是该表当前为空。我不确定这是否是问题。
我做错什么了吗?
答案 0 :(得分:0)
当您INNER JOIN
两个表(其中一个为空)(如您所述)时,结果集将始终为空,因此当client_id无法检索该客户机时,您将得到“ invalid_client”。 / p>
将一些与您的客户端链接的数据放入其中应该可以解决问题。