C# .net Core web Api 获取请求#参数

C# .net Core web Api Get request # parameter

我通过 oauth.vk.com Docs here

使用授权

当我在网络浏览器上调用时

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 和我可以这样接收的电子邮件

[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?

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

例如:

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();

}

camilo-terevinto

评论中的正确答案

Nothing after the # reaches the server. You are attempting to use a a client-side implementation in server-side code. That's the first signal you are not doing it correctly