Недавно я работаю над SSO с IdentityServer4, когда я отлаживал код, я обнаружил, что настройка ResponseType вызывает непростую проблему.Когда я устанавливаю «Мой клиент» следующим образом:
JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();
services.AddAuthentication(options =>
{
options.DefaultScheme = "Cookies";
options.DefaultChallengeScheme = "oidc";
})
.AddCookie("Cookies")
.AddOpenIdConnect("oidc", options =>
{
options.SignInScheme = "Cookies";
options.Authority = Configuration["Auth:IdentityServer"];
options.RequireHttpsMetadata = false;
options.ClientId = Configuration["Auth:ClientId"];
options.ClientSecret = Configuration["Auth:ClientSecret"];
options.ResponseType = "id_token";
options.SaveTokens = true;
//options.Scope.Add("8e6144b5-87f6-4638-bf08-1a64599a8b39");
options.Scope.Add("offline_access");
options.GetClaimsFromUserInfoEndpoint = true;
});
, я могу получить такие утверждения (с полным списком требований): Но когда я изменяю responseType, как этот options.ResponseType = "id_token token";
Претензии такие (только несколько выданных претензий):
Если при входе в систему я хочу получить полный список претензий и токен доступа, чтоя должен сделать, чтобы получить их обоих?