将令牌添加到前端应用程序

时间:2019-05-20 15:28:34

标签: asp.net-mvc .net-core jwt

我有一个面向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.
    }
}

有人知道我在这里想念的吗?

0 个答案:

没有答案