1
我尝试创建简单的OAuthHandler。 在我的请求(使用implicit flow)后,服务器向我的页面发送请求并附带授权码。但在服务器的查询字符串中,所有参数都以散列(#)开头?处理查询字符串中的散列(#)
在方法HandleRemoteAuthenticateAsync中,我试图解析查询字符串,但没有一个属性包含授权代码或类似的东西。
如何处理查询字符串中的散列?
我尝试创建简单的OAuthHandler。 在我的请求(使用implicit flow)后,服务器向我的页面发送请求并附带授权码。但在服务器的查询字符串中,所有参数都以散列(#)开头?处理查询字符串中的散列(#)
在方法HandleRemoteAuthenticateAsync中,我试图解析查询字符串,但没有一个属性包含授权代码或类似的东西。
如何处理查询字符串中的散列?
由于若佩和大卫在评论中提到的,哈希(#)之后什么是片段的一部分,是不浏览器发送到服务器。这就是为什么你的服务器代码看不到它。
隐式流程适用于JavaScript客户端,而不适用于Web服务器。您需要改为authorization code flow。重定向的样子:
REDIRECT_URI?code=7a6fa...
由于代码是在查询字符串传递,而不是片段,您的服务器端代码就能看到它。
A#不是查询字符串的一部分,它是一个文档片段,它只能出现在查询字符串之后,而不是它。什么服务器发送什么?显示网址? – Joppe
任何包含散列的内容都不会传递给您的服务器。你需要先对URL进行编码。 – DavidG
https://vk.com/dev/implicit_flow_user –