如何创建用于注册和登录用户的端点?我使用 Microsoft.AspNetCore.Identity 进行用户管理。
答案 0 :(得分:0)
关于身份配置,可以参考这个document。关于注册和登录,和普通路由类似。所有方法都包含在 UserManager 和 SignInManager 中。
public class HomeController : Controller
{
private readonly UserManager<IdentityUser> _userManager;
private readonly SignInManager<IdentityUser> _signInManager;
public HomeController(
UserManager<IdentityUser> userManager,
SignInManager<IdentityUser> signInManager
)
{
_userManager = userManager;
_signInManager = signInManager;
}
[HttpPost]
public async Task<IActionResult> Register(string username, string password)
{
var user = new IdentityUser
{
UserName = username,
Email = "",
};
var result = await _userManager.CreateAsync(user, password);
_userManager.AddToRoleAsync(user, "amdin");
if (result.Succeeded)
{
var signInResult = await _signInManager.PasswordSignInAsync(user, password, false, false);
if (signInResult.Succeeded)
{
return View("index");
}
}
return RedirectToAction("Index");
}
}
在这种情况下,客户端需要使用cookie容器来处理cookie,而jwt是一种更高效的处理api的方式。