首页 > 解决方案 > 使用 IdenityServer4 成功登录后重定向到 localhost Web 应用程序

问题描述

我刚刚应用完IdentityServer4 文档中的这个快速入门示例。我目前有 3 个应用程序:一个用于登录(我将其称为“登录页面”),一个是 webapi 端点,一个是 javascript SPA(单页应用程序)。

如果 webapi 端点之一需要用户进行身份验证,它会通知 SPA 应用程序。然后,SPA 应用程序将我重定向到我最近部署到互联网的登录页面。

现在,这个配置

            // JavaScript Client
            new Client
            {
                ClientId = "js",
                ClientName = "JavaScript Client",
                AllowedGrantTypes = GrantTypes.Implicit,
                AllowAccessTokensViaBrowser = true,

                RedirectUris =           {
                    "http://localhost:5003/auth-callback",
                    "http://localhost:5003/assets/silent-refresh.html"
                },
                PostLogoutRedirectUris = { "http://localhost:5003/" },
                AllowedCorsOrigins =     { "http://localhost:5003" },

                AllowedScopes =
                {
                    IdentityServerConstants.StandardScopes.OpenId,
                    IdentityServerConstants.StandardScopes.Profile,
                    "api1"
                }
            }

只要登录页面在本地主机中运行,它就可以正常工作。

现在我将登录页面部署到互联网。这意味着成功登录后,它将尝试将用户重定向到:

http://localhost:5003/auth-callback

这不起作用,因为它是本地的,无法从 Internet URL 访问。

现在,请记住我需要在本地测试 SPA 应用程序:如何配置 IdentityServer4,以便我可以在本地测试我的应用程序,但使用放置在 Internet 中的身份提供程序?

标签: asp.net-coreidentityserver4

解决方案


推荐阅读