1

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

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

我不明白这个过程以及我可以用什么来做到这一点。一些链接将我引导至oAuth,但我不知道如何使用它,我不确定它是否正确。

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

有人可以为我提供一些此类工作的教程或示例代码吗?

编辑:看来我必须使用三足 oAuth 或两足版本的 oAuth。我真的不明白我必须使用哪个版本。Twitter 和商店应用程序之间的 2 条腿还是 twitter-WebApi-Windows 商店应用程序之间的 3 条腿?

4

1 回答 1

3

我认为对这个过程进行完整的描述是没有用的,因为它们已经有很多文档了。但是我可以想象很容易迷路,我可以帮助您提供视图指针,但是当您的问题变得更具体时更容易回答您的问题。

首先,使用 OpenId 提供者,用户必须授权您的 Api 才能使用他们的信息。这就是 Oauth 发挥作用的地方。您根据 Oauth2 协议将您的用户重定向到例如 Google。用户将使用他们的谷歌凭据登录并批准您的应用使用他们的信息作为外部 ID。

其次,Twitter 仍在使用 Oauth1 协议,并且在 Oauth2 协议中进行了一些很大的改进,尤其是在简单性方面。所以首先我会从支持 Oauth2 协议的 Facebook/Google/Instagram(它有一个非常好的文档)开始。也看看这张图片:

Oauth2 流

也从 Oauth 开始,我会看看 DotNetOpenAuth,这是一个几乎所有复杂逻辑的库。他们有一些不错的示例,您可以在此处下载。我希望这可以帮助您入门。

于 2013-03-07T13:31:39.533 回答