1

我从 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
        };

我的问题是有什么理由,关于安全性,我不应该实施这个并将它分开吗?

4

1 回答 1

3

从安全角度来看,这完全没有问题。

但是我必须警告您,您在处理 cookie 和令牌时可能会遇到问题。在单独的项目中运行它们隐含地将 MVC 和 IDS 项目的关注点分开。

您可能想要做的事情是使用app.Map(). (例如,将 IDS 映射到“/identity”,将 MVC 项目映射到“/ui”)

于 2016-08-26T06:57:19.550 回答