谁为 Identity Server 4 提供客户端 ID 和客户端密码?

Who provides client id and client secret with Identity Server 4?

我正在学习 oAuth2.0 以及如何在应用程序中使用 Identity Server 4,我在这里有一个疑问。

当我们使用 Identity Server 4 创建我们的应用程序并且 运行 在本地(它还没有部署到任何地方)时,我们定义我们的客户端 ID 和客户端密码。

当我们在某处部署应用程序时会发生什么?

我们是否从部署到的服务中获取客户端 ID 和客户端密码,并将其放在配置中的某个位置?

或者我们将我们定义的客户端 ID 和客户端密码放入我们部署应用程序的服务中? 我不确定这是如何工作的

IdentityServer(IS4)的主要工作是管理用户的身份。它负责身份验证和授权(如果在其中配置了声明)。 里面解释的很详细

老实说,当我遇到 IS4 时,我自己也觉得很困惑。我是 C# 的新手,突然我的雇主要求我处理它。然而,随着时间的推移,我意识到它的美丽和普遍的灵活性。您应该查看 this series 以了解更多信息(以及 C# 中的身份管理)。

为了回答您的问题,您不仅要部署 IS4,还要部署您的客户端(API 或 MVC 应用程序)。您的客户端将依赖 identityserver 进行身份验证。此客户端将由您配置到 IS4 中。如果同时开发两者,则必须配置将使用令牌和 IS4 的客户端。如果您打算只在客户端上工作,那么您只需将客户端 ID 和密码提供给 IS4 开发人员,该人员将进行配置。如果您同时执行这两种操作,那么您必须将您的客户端设置为 IS4 中的允许客户端。这些配置通常存储在 C# class 中用于开发目的,并移动到 table(IS4 附带的迁移),可以很容易地添加或删除它们。

最后一个提示,请记住,您无法像学习其他堆栈那样快速学习它。这是一种非常灵活的东西,因此有太多的配置要求。如果你花时间去理解它也没关系。诚实地尝试一下。