Я добавляю 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 хост или мне нужно два?