你好(抱歉我的英语不好)
我有一个Angular Vue.js前端,可使用C#连接到我的Rest Api服务。我至少开发了20项服务。现在我要保护它们。
使用POSTMAN和url https://login.microsoftonline.com ...,我得到“令牌”,然后尝试获得授权,然后将硬编码放入给定的令牌,其结果为: “状态代码”:200, “ ReasonPhrase”:“已授权”,
我这样做:
public class TokenController : ApiController
{
public IHttpActionResult Get()
{
Task<HttpResponseMessage> d = TokenManager.GetGroups("token");
return Ok(d);
}
}
public static Task<HttpResponseMessage> GetGroups(string token)
{
var httpClient = new HttpClient();
var uri = "https://graph.microsoft.com/v1.0/groups";
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var res = httpClient.GetAsync(uri, HttpCompletionOption.ResponseContentRead).Result;
return Task.Delay(3000).ContinueWith(t => res);
}
我的问题是,我不知道从“前端”获取“承载者令牌”的位置或要做的事情。由于太长,我无法通过服务URL中的参数获取令牌。
谢谢。
答案 0 :(得分:0)
有了Request.Headers,我就有了Bearer令牌。
我称“字符串tt = Request.Headers.Authorization.ToString();”在我的控制器中,效果很好