如何在Windows商店应用中使用oAuth?

时间:2013-03-06 09:01:15

标签: authentication oauth asp.net-web-api windows-store-apps

我想知道如何使用外部身份提供商( twitter,facebook,google,.. )登录我的应用程序。

我有 Windows应用商店 asp.net web Rest API ,目标是使用现有帐户(例如twitter)提供给我的网站Api身份。所以我可以检索用户的信息并为他提供正确的信息。

我不明白这个过程以及我可以用它做什么。一些链接导致我 oAuth ,但我不知道如何使用它,我不确定这是正确的方法。

我的Web API是否必须与twitter通信,或者所有信息必须由WS应用程序检索并发送到API? 如何在API中解码检索到的信息? 我能够检索哪种信息(ID?)

有人可以为我提供一些教程或示例代码吗?

编辑:我似乎必须使用三脚oAuth或oAuth的双腿版本。我真的不明白我必须使用哪个版本。 Twitter和商店应用程序之间的两条腿或带有Twitter-WebApi-Windows商店应用程序的三条腿?

1 个答案:

答案 0 :(得分:3)

我不认为提供有关该过程的完整描述是有用的,因为它们已经有很多文档。但我可以想象它很容易迷失,我可以用视图指针帮助你,但当它们变得更具体时更容易回答你的问题。

首先,使用OpenId提供程序,用户必须授权您的Api使用他们的信息。这就是Oauth到位的地方。您可以根据Oauth2协议将用户重定向到Google。用户将使用他们的Google凭据登录并批准您的应用将其信息用于外部ID。

第二个Twitter仍在使用Oauth1协议,它们在Oauth2协议中有了一些很大的改进,特别是在简单性方面。所以首先我要从支持Oauth2协议的Facebook / Google / Instagram(它有一个非常好的文档)开始。另请看这个图片:

Oauth2 flow

开始使用Oauth我会看看DotNetOpenAuth,这是一个几乎可以消除所有复杂逻辑的库。他们有一些很好的样本,您可以下载here。我希望这可以帮助你入门。