首页 > 解决方案 > C# .net Core web Api 获取请求#参数

问题描述

我在这里通过 Docs使用授权oauth.vk.com

当我调用网络浏览器时

https://oauth.vk.com/authorize?client_id=1&display=page&redirect_uri=http://example.com/callback&scope=friends&response_type=token&v=5.80

在我登录vk.com并接受对我的服务器的权限后,vk.com发送Get请求如下:

http://example.com/callback#access_token=c9186f0de67865740b9bd920a67320142434422007d16cf79031734fd450657cd4ba221106ce7232e74b7&expires_in=86400&user_id=1&email=example@mail.com

我不知道如何在我的 Get 方法中使用 #access_token

参数 ? 像 expires_in、user_id 和 email 我可以这样

[Route("vkauth")]
public class VKAuthController : Controller {
  [HttpGet]
  public string Get_VkAuth([FromQuery] string access_token, string expires_in, string user_id, string email) {
}

但是如何获取参数#access_token?

标签: c#.net-corevk

解决方案


只需在函数中使用 HttpRequestMessage 并通过标头提取令牌(如果使用标头发送令牌:授权)

例如:

public string Get_VkAuth(HttpRequestMessage request,[FromQuery] string access_token, string expires_in, string user_id, string email) {

 String access_token= request.Headers.Authorization.ToString();

}

推荐阅读