c# - 使用 MVC Core Identity 从 Web API 验证 MVC 网站用户

标签 c# asp.net-mvc asp.net-web-api asp.net-core-mvc asp.net-identity

我有两个 .net core 2.2 项目;第一个是 MVC 项目,它类似于用户可以登录的表示层,另一个是处理数据库操作的 Web API。我想在 Web API 中处理登录请求,并使用 MVC Core Identity 将登录结果返回给 MVC 项目。我的 DbContext 在 Web API 项目中。有没有根据Web API请求的结果创建身份cookie?

最佳答案

在这种情况下,身份验证应该使用访问 token 而不是 cookie 来处理。

对于您的 Web API,在 IdentityServer 4 库的帮助下实现 Resource Owner Password Credentials 授权类型的 OAuth2 协议(protocol)。最后,您应该能够从 API 获取访问 token 以交换登录凭据

对于您的 MVC 项目,创建一个表来存储 token -sessid 对,这样当 MVC 应用程序在 session 期间从 API 获取访问 token 时,它会将它们保存在表中。对于后续请求,MVC 应用将从表中获取 token (通过使用 sessid)并使用它来访问 Web API。

关于c# - 使用 MVC Core Identity 从 Web API 验证 MVC 网站用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59111309/

相关文章:

c# - 在 Mvc 3 razor View 中,基于模型中的空值有条件地呈现 html 的最佳方法是什么

c# - XNA:加载和读取 XML 文件的最佳方式?

c# - 将依赖注入(inject)到 DTO 中

c# - 使用 ASP.NET MVC Web API 时如何注册已知类型以进行序列化

c# - 启用 CORS 的 Web API 无法添加 header

c# - Vim - 如何高亮模式的一部分

c# - LINQ 查询 SelectMany() 返回空值

c# - AsP.Net MVC 5 如何在 View 中调用函数

.net - Asp.Net Mvc 实用程序和帮助程序

asp.net-mvc-4 - MVC 4 应用程序、EF 和 Web API 结构以及用户身份验证