我正在使用IdentityServer4开发API进行身份验证。我已经将商店配置为使用EF Core,我也使用Asp.Net Identity。 为了改善用户体验,我们希望他们在注册后在沙盒上尝试我们的API,并为他们提供自动生成的ClientId和ClientSecret。一旦他们想要投入生产,我们就想为生产环境生成另一个ClientSecret。
换句话说,除了秘密之外,我们希望重用ASP.NET Identity用户和IdentityServer客户端。
我们为沙盒和制作提供了不同的网址,数据库等。目前我们使用两种不同的IdentityServer服务器和数据库,但我们正在考虑为这两种环境共享相同的IdentityServer服务器和数据库。
这种情况是否受到支持?
编辑1: 正如对travis.js响应的评论所述,环境应该被称为实时和沙箱而不是生产和沙箱,因为这两种环境都是为我的客户准备的。
编辑2: 嵌入IdentityServer和Asp.Net Identity的应用程序是管理注册的应用程序,因此live和sandbox API会要求此应用程序进行身份验证。
答案 0 :(得分:0)
尝试在不同的网址下重复使用相同的IdentityServer app / db会遇到问题。 IdentityServer实例的主机名是使其独特且具有权威性的部分。据我所知,一个实例不能拥有两个不同的权威名称。
听起来像是一个基本的数据迁移问题,即您只需要将一些沙箱配置数据向上移动到生产数据库中。
无论什么应用程序处理用户注册和“上线”功能都可以完成这项工作。它只需要访问这两个数据库。