JWT令牌IdentityServer

时间:2018-06-21 20:18:42

标签: c# asp.net identityserver4

有人可以帮助我将jwt令牌集成到web.api内核中吗?因此,我尝试通过IdentityServer 4生成jwt令牌。下面给出了它的外观:

        [HttpPost]
    public async Task<IActionResult> Index(LoginViewModel loginViewModel)
    {
        var user = await _userManager.FindByEmailAsync(loginViewModel.Email);

        if(user != null)
        {
            var isCredosValid = await _signInManager.PasswordSignInAsync(loginViewModel.Email, loginViewModel.Password, loginViewModel.RememberMe, false);

            if (isCredosValid.Succeeded)
            {
                var disco = await DiscoveryClient.GetAsync("https://localhost:44351");
                var tokenClient = new TokenClient(disco.TokenEndpoint, _identityServerConfig.ClientId, _identityServerConfig.Secret);

                var tokenResponse = await tokenClient.RequestResourceOwnerPasswordAsync(
                    loginViewModel.Email, loginViewModel.Password,_identityServerConfig.AllowedScope);

                return Json(tokenResponse.Json);
            }
        }

        return BadRequest();
    }

此方法没问题,但是一旦我尝试访问其他具有角色限制的方法,例如Authorize(Roles =“ User”),Api允许我未经授权调用方法,因此它似乎不起作用。 我是否应该以某种方式验证手动发送请求标头中的令牌以及默认的asp.net用户身份具有检查令牌的内置支持?

0 个答案:

没有答案