在WebAPI项目中使用Identity.UI

我对 Asp.NET 还很陌生,希望了解有关如何继续操作的更多信息。我有一个标准的 WebAPI 项目,其中包含标准天气模板 - 我正在尝试通过注册/登录来应用一些身份验证。我知道有一种方法可以让模板在创建项目时为您完成此操作,但对于 Web api 来说却没有不让你做我想要的本地数据库。


所以现在我已经附加了 Identity.UI 包,以便我可以访问此方法并生成身份表的迁移


 services.AddDefaultIdentity<IdentityUser>()

   .AddEntityFrameworkStores<ApplicationDbContext>();

这允许我使用 UserManager 注册用户并登录,我这样做:


    if (!ModelState.IsValid) return BadRequest();


    var result = await m_userManager.FindByNameAsync(user.Email);

    var correct = await m_userManager.CheckPasswordAsync(result, user.Password);


    if (!correct) return BadRequest();


    return Ok(new { token = m_tokenService.BuildToken(user.Email) });

我的问题是通过 WebAPI 处理注册和登录的正确方法,因为顾名思义,Microsoft.AspNetCore.Identity.UI 包提供了用于登录/注册的剃刀页面,但我并不真正需要,这让我相信这是不正确的。这样做有缺点/问题吗,或者这是一种更干净的方法。


胡子哥哥
浏览 32回答 1
1回答

皈依舞

默认的 Microsoft.AspNetCore.Identity.UI 包提供了一个用于登录/注册的剃刀页面,这对于 Web api 来说似乎是多余的。要在 Web api 上实现 Microsoft 身份来处理基本的个人用户帐户,您可以尝试使用 JWT 令牌。
打开App,查看更多内容
随时随地看视频慕课网APP