我有两个 .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/