结合IdentityServer4和MVC客户端
本文关键字:客户端 MVC IdentityServer4 结合 | 更新日期: 2023-09-27 18:04:18
我从Github下载了示例IdentityServer和MVC客户端项目。我的目标是创建一个门户环境,用户可以在其中进行身份验证,然后继续请求受保护的资源。
所以我所做的是将视图从MVC客户端移动到IdentityServer项目,更改client .cs以支持同一端口上的客户端,并在IdentityServer的启动中添加以下内容:
var oidcOptions = new OpenIdConnectOptions
{
AuthenticationScheme = "oidc",
SignInScheme = "Cookies",
Authority = "http://localhost:5000",
RequireHttpsMetadata = false,
PostLogoutRedirectUri = "http://localhost:5000/",
ClientId = "mvc",
ClientSecret = "secret",
ResponseType = "code id_token",
GetClaimsFromUserInfoEndpoint = true,
SaveTokens = true
};
我的问题是,是否有任何理由,考虑到安全性,我不应该实现这个并保持它的分离?
从安全的角度来看,这完全没有问题。
然而,我必须警告你,你可能会遇到一个问题,当处理cookie和令牌。在单独的项目中运行它们会隐式地分离MVC和IDS项目的关注点。
您可能想要做的是通过使用app.Map()
来分叉您的请求管道。(例如将IDS映射到"/identity",将MVC项目映射到"/ui")