Как выйти из IdentityServer4-client из External IdentityServer4 с помощью FrontChannelLogout - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть IdentityServer4 идентификационный сервер-клиент в качестве клиента для внешнего IdentityServer4 идентификационный сервер-мастер У меня естьнекоторые проблемы с выходом из системы идентификация-сервер-клиент при выходе из системы на идентификация-сервер-мастер .Я указал SignedOutCallBackPath и RemoteSignedOutPath в AddOpenIdConnect для идентификационный-сервер-мастер в идентичность клиент-сервер .Я также указал FrontChannelLogoutUri и PostLogoutRedirectUri для клиента.

Я следовал этому примеру с Identity Server 4 .

Конфигурация в identity-server-client

.AddOpenIdConnect("demoidsrv", "IdentityServer", options =>
            {
                options.SignInScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme;
                options.SignOutScheme = IdentityServerConstants.SignoutScheme;

                options.Authority = "https://demo.identityserver.io/";
                options.ClientId = "implicit";
                options.ResponseType = "id_token";
                options.SaveTokens = true;
                options.CallbackPath = "/signin-idsrv";
                options.SignedOutCallbackPath = "/signout-callback-idsrv";
                options.RemoteSignOutPath = "/signout-idsrv";

                options.TokenValidationParameters = new TokenValidationParameters
                {
                    NameClaimType = "name",
                    RoleClaimType = "role"
                };
            })

... И конфигурация в identity-server-master из их демонстрационного экземпляра

                new Client
            {
                ClientId = "implicit",
                ClientName = "Implicit Client",
                AllowAccessTokensViaBrowser = true,

                RedirectUris = { "https://notused" },
                PostLogoutRedirectUris = { "https://notused" },
                FrontChannelLogoutUri = "http://localhost:5000/signout-idsrv", // for testing identityserver on localhost

                AllowedGrantTypes = GrantTypes.Implicit,
                AllowedScopes = { "openid", "profile", "email", "api" },
            },

Проблема в том, что, когда он пытается отключить фронтальный канал, он не может найти путь.Я невежественен ...

1 Ответ

0 голосов
/ 12 декабря 2018

Решено это путем добавления конечной точки для выхода из переднего канала, которая в основном убивает текущий сеанс.Я не знаю, является ли это лучшим решением, так как я понимаю, что выход из переднего канала можно использовать с iframe на странице выхода из системы в IdentityServer4.

...