c# - 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?
解决方案
只需在函数中使用 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();
}
推荐阅读
- php - 我正在尝试添加管理面板以在我的电影流媒体网站上上传视频
- java - 在每个模型的不同 DAL 类中实现 JPA 存储库方法时如何避免重复的代码行/代码块
- javascript - 根据数组值更改 Timeout 的值
- azure-resource-manager - 模板中的 Azure 二头肌多个范围
- wordpress - 如何删除此站点“http://cdn.jsinit.directfwd.com/sk-jspark_init.php”的混合内容错误?
- java - IntelliJ - 无效的源版本:17
- node.js - Raspberry PI 上的 MongoDb、Node.js 用于餐厅订购服务
- python - 使用 Python 和 Pandas 循环遍历列
- jquery - 在 Carousel Bootstrap Ajax Jquery 中添加活动类
- c++ - 如何在 ubuntu 上使用 make 修复主楼 gtest 项目的多个定义