Authentication 谁向Identity Server 4提供客户端id和客户端机密?

Authentication 谁向Identity Server 4提供客户端id和客户端机密?,authentication,oauth-2.0,asp.net-identity,identityserver4,openid-connect,Authentication,Oauth 2.0,Asp.net Identity,Identityserver4,Openid Connect,我正在学习oAuth2.0以及如何在应用程序中使用Identity Server 4,这里我有一个疑问 当我们使用Identity Server 4创建应用程序并在本地运行时(它还没有部署到任何地方),我们定义客户端ID和客户端机密 当我们在某处部署应用程序时会发生什么 我们是否从部署到的服务中获取客户端ID和客户端机密,并将其放在配置中的某个位置 或者我们把我们定义的客户ID和客户机密放在我们部署应用程序的服务上? 我不确定这是如何工作的IdentityServer(IS4)的主要工作是管理用

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

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

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

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

或者我们把我们定义的客户ID和客户机密放在我们部署应用程序的服务上?
我不确定这是如何工作的

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

老实说,当我遇到它时,我自己发现它非常令人困惑。我刚到C#,突然我的老板让我处理这件事。然而,随着时间的推移,我意识到了它的美丽和普遍的灵活性。您应该查看以了解更多信息(以及C#中的身份管理)

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

最后一个提示,请记住,你不能像学习其他堆栈那样快速地学习它。它非常灵活,因此有太多的配置需求。如果你花点时间去理解它就好了。诚实地试一试