Проблема конфигурации IdentityServer4 - PullRequest
0 голосов
/ 25 октября 2018

Я добавляю IdentityServer4 в приложение .net core 2.1, и у меня возникают проблемы с выходом из системы. Похоже, что у меня общая проблема со структурой.

Из всех примеров, которые я могу найти, клиенты имеют разныеRedirectUris и PostLogoutRedirectUris, чем их параметры. Полномочия.

Например, мои значения:

public static IEnumerable<Client> GetClients()
    {
        return new List<Client> {
            new Client {
                ClientId = "oauthClient",
                ClientName = "Example Client Credentials Client Application",
                AllowedGrantTypes = GrantTypes.ClientCredentials,
                ClientSecrets = new List<Secret> {
                        new Secret("superSecretPassword".Sha256())},
                    AllowedScopes = new List<string> {"customAPI.read"}
                },
            new Client {
                ClientId = "openIdConnectClient",
                ClientName = "Example Implicit Client Application",
                AllowedGrantTypes = GrantTypes.Implicit,
                AllowedScopes = new List<string>
                {
                    IdentityServerConstants.StandardScopes.OpenId,
                    IdentityServerConstants.StandardScopes.Profile,
                    IdentityServerConstants.StandardScopes.Email,
                    "role",
                    "customAPI.write"
                },
                RedirectUris = new List<string> {"http://localhost:5000/signin-oidc"},
                PostLogoutRedirectUris = new List<string> {"http://localhost:5000"}
            }
        };
    }

, а мой IdentityServer настроен как

services.AddAuthentication(options =>
            {
                options.DefaultScheme = "cookie";
                options.DefaultChallengeScheme = "oidc";
            })
            .AddCookie("cookie")
            .AddOpenIdConnect("oidc", options =>
            {
                options.RequireHttpsMetadata = false;
                options.Authority = "http://localhost:5000/";
                options.ClientId = "openIdConnectClient";
                options.SignInScheme = "cookie";
            });

.это неправильно, но я не уверен, что когда я устанавливаю options.Authority = "http://localhost:5001/";, что, как я думаю, мне следует делать из моих примеров, я получаю исключение.

Это может быть глупый вопрос, но могу ли я использовать IdentityServer4 только с1 хост или мне нужно два?

1 Ответ

0 голосов
/ 25 октября 2018

У меня небольшие проблемы с пониманием вашего вопроса, но я постараюсь ответить в меру своих возможностей.

Вы можете настроить сервер идентификации и проект, который вы используете, с сервером идентификации на одном хосте.

Это, как говорится, действительно зависит от ваших намерений.Например, должен ли сервер идентификации быть доступен, если клиентское приложение не работает?

...