5

我知道这个问题可能会受到一些反对,但我在谷歌上搜索了三天,没有真正可用的结果。

我在 Visual Studio 中创建了一个默认的 ASP.NET Core 1.0 RC1 项目,具有个人用户帐户身份验证/授权。通过这种方式,一切都变得简单易行,因为该项目是使用 搭建的Microsoft.AspNet.Authentication.Cookies,而 VS 2015 完成了所有繁重的工作。

但是,我们希望从同一个项目中公开一个 API(使用相同的数据库、用户、声明等),这些 API 将从移动设备甚至一些简单的 SPA 中使用。这样,我们需要为 API 使用 JWT 之类的东西(有很多关于如何仅使用 WebAPI 执行此操作的教程)。

我们希望使用 MVC(而不是 SPA)方式来完成主要项目,以利用视图/控制器脚手架和 Visual Studio 可以提供的一切。

有很多关于仅 MVC 或仅 WebAPI 方法的教程,但是您能否指出我如何将它们混合在一起?

有没有办法只在 MVC 和 WebAPI 系统范围内使用 JWT?

先感谢您。

4

1 回答 1

1

通过方案限制身份此链接可能是您问题的答案。

在某些情况下,例如单页应用程序,可能会以多种身份验证方法结束,cookie 身份验证登录和承载身份验证 javascript 请求。

我认为,您可以将以下代码用于 mvc 和 javascript 调用(当然,您必须启用 cookie 和承载中间件):

[Authorize(AuthenticationSchemes = "Cookie,Bearer")]
public class YourController : Controller
于 2016-04-15T06:26:16.583 回答