Dan*_*lba 6 .net c# login single-sign-on
我需要在我的应用程序中提供登录机制.我想为最常见的IP提供登录,例如Google,Yahoo!,Facebook,微软直播等.
我的应用程序是一个用C#编写的桌面应用程序,因此不是 Web应用程序.
注意:我知道Microsoft 在Azure中提供了一种独特的登录机制,但我对此Azure服务不感兴趣.
OpenAuth可以满足您的需要,但使用起来可能很复杂。不过,有大量资源可以帮助您。这里是一篇描述使用 OAuth 过程的文章的链接,这里有一个很好的 SO 答案,其中包含您可以用来入门的代码示例。
您需要注册您想要用于登录的服务并接收它们的密钥。引用自链接文章:
- 向您为其开发应用程序的服务注册您的应用程序。例如 Twitter、Twitpic、SoundCloud 等。您将收到消费者密钥和秘密。
- 然后,您(应用程序的开发人员)通过传递消费者密钥和消费者秘密来启动 OAuth 流程
- 该服务将向您返回一个请求令牌。
- 然后,用户需要批准应用程序运行请求。
- 用户授予权限后,您需要将请求令牌交换为访问令牌。
- 现在您已收到访问令牌,您可以使用它来使用您的凭据和访问令牌对所有 http 请求进行签名。
尽管您需要每个提供商提供的密钥,但身份验证方法是相同的,因此您实际上不需要实现特定于每个服务提供商的单独登录代码。