2013-06-23 25 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