嗨,我在我的应用程序(.Net Core2.2)中使用CAS进行单点登录。我可以用CAS登录,但仅获得用户名,而没有从CAS获得电子邮件或任何其他属性。
在CAS端进行身份验证时,我使用AspNetCore.Security.CAS Nuget Pacakage,并在下面的Startup.cs文件中配置了代码。
在启动公司的ConfigureServices方法中:
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options => {
options.LoginPath = new PathString("/login");
})
.AddCAS(options =>
{
options.CasServerUrlBase = Configuration["CasBaseUrl"];
options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
});
在UseMvc之前的启动公司的Configure方法中:
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
获取用户名,但无法找到其他属性信息。为此请帮我。