我正在评估Identity Server 4作为我的ASP.NET Core API
应用的可能解决方案。我们还在构建可以调用API的移动应用程序。
如果我们决定使用Identity Server 4(IS4),它将被设置为单独的应用程序,即它不会被添加到我们现有的Web / API应用程序中。
是否可以在IS4中定义客户端,以便对IS4的请求也必须提供ClientId
,以便不会处理来自未授权客户端的请求。
我想解决的问题是,我不希望任何人创建自己的网络/移动应用并开始调用我们的API。如果有人想要创建一个将使用我们的API的应用,它必须在我们这里注册并获得AppId
和SecretKey
,就像访问Facebook或Google身份验证一样。
IS4是否支持此功能?
答案 0 :(得分:1)
简短的回答是 - 是的。
现在有一些解释 - 要调用受Identity Server保护的API,您应该充当Identity Server客户端(无论它是什么类型的应用程序)。此客户端首先针对IDS进行身份验证,然后(如果允许)调用API。因此,如果它不是注册的IDS客户端,则无法进行身份验证。 IDS客户端在IDS应用程序开始时注册 - check here。
实际上你可以检查他们所有的documentation。我认为第一部分与你的情况非常相似。