所以我启动并运行了我的Identity Server项目,并设置了要发布的项目。现在,当我在IS4的配置中定义我的客户端时,我想我必须将我的重定向URL设置为我的发布域,如下所示:
new Client{
...
RedirectUris = { "localhost:5002/signin-oidc", "myclient.com/signin-oidc" }
...
}
是否包含localhost和domain正确的方法?
我认为没关系,因为攻击者必须拥有我的客户端密码才能登录。或者最好是设置两个独立的客户端(例如'client'和'client_local'),并在启动时请求相应的客户端?
答案 0 :(得分:0)
有两种方法:
1)使用配置文件:您可以将客户端存储在JSON文件中并在启动期间加载它们。对不同的环境使用不同的JSON文件。
实施例。 clients.Development.json for Development and clients.Production.json in production environment;但是,客户端将在内存客户端中,客户端配置中的任何更改都需要重新启动应用程序。
2)使用永久存储:使用数据库服务器存储配置和操作数据。用于开发的本地数据库和用于生产的数据库。
请参阅此docs,该示例使用Entity Framework进行持久存储,但您已绑定到Entity Framework或任何ORM。您可以选择为IdentityServer编写自己的数据访问层。这将允许您在不重新启动应用程序的情况下更改客户端配置,因为将从数据库中检索数据。