我有一个面向Servie的后端体系结构,我们可以通过.NET Core API控制器进行访问。我们在业务层中使用JWT进行身份验证,令牌通过API端点传回到前端 MVC UI表示层应用程序。因此,MVC 6前端与其他基础架构完全分开。我们收到了JWT令牌,该令牌用于通过装饰来获取对API的访问权限 带有授权的API控制器。
一旦在前端MVC6应用程序中收到令牌,我们真的想以某种方式将其添加到管道中,以便我们可以利用[Authorize]的全部功能,因此我们本质上想锁定 尽管令牌是在后端生成的,但两者都具有相同的令牌。
我们有这样的登录名。
[HttpPost]
[AllowAnonymous]
[ValidateAntoForgeryToken]
public async Task<IActionResult> Login(LoginModel loginModel)
{
var result = await _httpManager.Post<LoginModel, string>("Authenticate", loginModel);
//Basically above line goes off to server/API/SOA and brings back a token if user is valid.
if (result.Header.Token != null){
JwtSecurityToken jwtSecurityToken = new JwtSecurityToken(result.Header.Token);
var claimsPrincipal = new JwtSecurityTokenHandler().WriteToken(jwtSecurityToken);
//Above two line are where I have got. I want to somehow push this into the MVC ASP.NET pipeline somehow.
RedirectToAction("Index", "Home");
}
}
因此,在我的HomeController中,与上面的方法所处的位置不同,由于我们已获得授权,因此我可以成功访问它。
[Authorize]
Public Class HomeController: Controller
{
[HttpGet]
public IActionResult Index()
{
//do something.
}
}
有人知道我在这里想念的吗?