使用承载令牌授权ASP.net MVC操作方法

时间:2019-02-11 01:11:50

标签: asp.net-web-api asp.net-mvc-5 bearer-token owin-middleware

我有一个asp.net网络api作为授权服务器,在将ussr / pass传递到其端点时,它会生成带有用户声明的承载令牌。现在,我需要首先通过获取令牌来认证我的asp.net mvc,然后使用该令牌授权我的mvc操作方法(不是从javascript调用,想象用户单击菜单和操作方法触发器)。我不知道应该如何以及在何处解码和创建具有这些声明的身份来授权该方法的身份?感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这是您可以从控制器端调用HttpRequest到API的东西,然后将结果传递给View

新功能,当您单击菜单栏或MVC中的某些链接时,它将首先命中控制器方法AS。您知道要做的就是将控制方法链接到api方法,例如此示例

  public async Task<ActionResult> YourMethod()
        {
            HttpClient client = new HttpClient();
            var content = new StringContent(Convert.ToString(JsonConvert.SerializeObject(anyobjectToPassifYouHaveOne)), Encoding.UTF8, "application/json");
            HttpResponseMessage result = await client.PostAsync(_API URL, content);
            if (result.IsSuccessStatusCode)
            {
                return result.Content.ReadAsAsync<bool>().Result;
            }
            return await Task.FromResult<bool>(false);
        }

这只是有关如何访问您的api的示例方法

请注意,由于您正在使用jwt令牌,因此您可能希望将令牌保存在会话中,并在每个api请求中传递该令牌,并将其添加到标头中