IdentityServer 4 с несколькими привязками - PullRequest
0 голосов
/ 23 октября 2018

У меня есть 2 сайта (www.dogsite.com и www.catsite.com).Они указаны в login.identityserverdemo.com как мой авторитетный сервер.Это позволяет SSO работать между двумя сайтами.Теперь, если я добавлю еще две привязки на мой сайт login.identityserverdemo.com, называемый login.dogsite.com и login.catsite.com, я потеряю единый вход.Я попытался добавить www.dogsite.com и www.catsite.com в redirectUrls клиента без каких-либо улучшений.

Вот мой конфиг клиента:

            new Client
            {
                ClientId = "mvc-dog",
                ClientName = "MVC Client For Dog Site",
                AllowedGrantTypes = GrantTypes.HybridAndClientCredentials,
                RequireConsent = false,
                ClientSecrets =
                {
                    new Secret("woofwoof123".Sha256())
                },
                Claims = new List<Claim>
                { },

                RedirectUris           = { "http://www.catsite.com/signin-oidc", "http://www.dogsite.com/signin-oidc" },
                PostLogoutRedirectUris = { "http://www.catsite.com/signout-callback-oidc","http://www.dogsite.com/signout-callback-oidc" },

                AllowedScopes =
                {
                    IdentityServerConstants.StandardScopes.OpenId,
                    IdentityServerConstants.StandardScopes.Profile,
                    "api1"
                },
                AllowOfflineAccess = true
            },
            new Client
            {
                ClientId = "mvc-cat",
                ClientName = "MVC Client For Cat Site",
                AllowedGrantTypes = GrantTypes.HybridAndClientCredentials,
                RequireConsent = false,
                ClientSecrets =
                {
                    new Secret("MeowMeow456".Sha256())
                },

                Claims = new List<Claim>
                {},

                RedirectUris           = { "http://www.catsite.com/signin-oidc", "http://www.dogsite.com/signin-oidc" },
                PostLogoutRedirectUris = { "http://www.catsite.com/signout-callback-oidc","http://www.dogsite.com/signout-callback-oidc" },

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

Пожалуйста, помогите ??

1 Ответ

0 голосов
/ 15 февраля 2019

Вы теряете единый вход, потому что login.dogsite.com и login.catsite.com не могут получить доступ к одним и тем же файлам cookie idSrv.

Извлечь Параметр кросс-доменных файлов cookie .Это для ID3, но в равной степени применимо к ID4.

...