2013-06-23 52 views
1

我使用OAuth2測試了一些社交API,並面臨重定向url的問題,我的應用程序使用嵌入式瀏覽器從服務器獲取訪問令牌並將url重定向到http://localhost,它工作正常我的電腦,但如果其他用戶的計算機沒有安裝任何Web服務器,我應該如何設置重定向URL,以及如何讓我的應用程序監聽訪問令牌而不是複製並手動粘貼回去?使用OAuth2重定向Url for Windows應用程序

任何幫助將不勝感激。謝謝。

回答

2

您不一定需要Web服務器。您可以在STS中註冊一個虛構的redirect_uri,然後配置您的託管WebBrowser 監聽重定向到此URL並從STS將發送的URL的片段部分提取access_token。從STS的響應將是這樣的:

http://fictitious.com/#access_token=some_token&token_type=bearer&expires_in=3600 

因此,爲了實現implicit grant flow有兩個步驟:

  1. 你直接託管的web瀏覽器到您的STS的授權端點:http://sts.com/authorize?client_id=CLIENT_ID&response_type=token&redirect_uri=http%3A%2F%2Ffictitious.com%2F

  2. 用戶根據STS進行身份驗證,並被重定向回第一步中作爲redirect_uri提供的虛構url。

  3. 您攔截重定向到此URL並從中提取access_token

+0

是的,它的工作就像一個魅力。非常感謝 :) – davidcoder