我有一个ASP.NET Core项目,它具有移动设备(Xamarin)的Web API。 我想,以确保与ASP.NET核心身份的API,但问题是,当我进行身份验证的设备和成功验证,在另一个请求它没有通过身份认证:ASP.NET Core安全Api
[HttpPost]
public async Task<IActionResult> Post([FromBody] LogIn l)
{
var user = await userManager.FindByEmailAsync(l.username);
if(user == null)
{
user = await userManager.FindByNameAsync(l.username);
}
if(user != null)
{
await signInManager.SignOutAsync();
Microsoft.AspNetCore.Identity.SignInResult result = await signInManager.PasswordSignInAsync(user, l.password, false, false);
if (result.Succeeded)
{
await signInManager.RememberTwoFactorClientAsync(user);
return Ok("Success");
}
}
return Ok(HttpStatusCode.BadRequest);
}
需要授权返回的代码数据:
[HttpGet("{id}")]
[Authorize]
public async Task<IActionResult> Get(int id)
{
var b = _context.Books.FirstOrDefault(o => o.BookId == id);
return Ok(b);
}
我读了关于令牌和jwt,但我不知道如何使用它们。任何想法如何保护API并使设备登录后进行身份验证?
这是一个很好的开始:https://docs.microsoft.com/en-us/aspnet/core/security/authentication/community –