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 –