Привет! Я использую CAS для единого входа в приложение (.Net Core2.2). Мне удалось войти в систему с помощью CAS, я получаю только имя пользователя, но не электронную почту или какие-либо другие атрибуты от CAS.
Для аутентификации на стороне CAS я использую AspNetCore.Security.CAS Nuget Pacakage и настроен при запуске. Файл cs ниже содержит код.
В методе ConfigureServices при запуске:
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options => {
options.LoginPath = new PathString("/login");
})
.AddCAS(options =>
{
options.CasServerUrlBase = Configuration["CasBaseUrl"];
options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
});
В методе Configure вашего запуска перед UseMvc:
app.UseAuthentication();
В моем контроллере
[AllowAnonymous]
[Route("login")]
public async Task Login(string returnUrl)
{
var props = new AuthenticationProperties { RedirectUri = returnUrl };
await HttpContext.ChallengeAsync("CAS", props);
}
В контексте я могу получить имя пользователя от context.Principal.Identity.Name
, но не могу найти другую информацию об атрибутах. Пожалуйста, помогите мне в этом.