7

我需要在我的应用程序中提供登录机制。我想为最常见的 IP 提供登录,例如GoogleYahoo! 脸书微软直播等。

我的应用程序是用 C# 编写的桌面应用程序,因此不是Web 应用程序。

  • 你知道我可以用来实现这个目的的任何库或框架吗?
  • 我必须为每个提供者实施登录机制吗?

注意:我知道微软在 Azure 中提供了独特的登录机制,但我对这个 Azure 服务不感兴趣。

4

1 回答 1

1

OpenAuth将满足您的需求,但使用起来可能很复杂。不过,有大量资源可以帮助您。是描述使用 OAuth 的过程的文章的链接,并且有一个很好的 SO 答案这里有代码示例,您可以使用它来开始。

您将需要注册您想要用于登录的服务并接收它们的密钥。引用自链接文章:

  1. 使用您正在为其开发的服务注册您的应用程序。例如 Twitter、Twitpic、SoundCloud 等。您将收到一个消费者密钥和秘密。
  2. 然后,您(应用程序的开发人员)通过传递使用者密钥和使用者秘密来启动 OAuth 流程
  3. 该服务将向您返回一个请求令牌。
  4. 然后,用户需要批准应用程序运行请求。
  5. 用户授予权限后,您需要将请求令牌交换为访问令牌。
  6. 现在您已收到访问令牌,您可以使用它来使用您的凭据和访问令牌签署所有 http 请求。

尽管您需要来自每个提供商的密钥,但身份验证方法将是相同的,因此您实际上不需要实现特定于每个服务提供商的单独登录代码。

于 2013-03-07T16:38:52.937 回答