我正在为需要执行以下操作的客户端创建应用程序:
- 允许用户使用 Google、Facebook、Twitter 和 LinkedIn 进行身份验证。
- 允许用户在注册后添加其他提供商。(即,如果用户通过 Google 进行了身份验证,那么他们也应该能够添加任何或所有其他提供商。)
- 允许用户导入 Google 联系人、Facebook 好友列表、Twitter 关注者和 Linkedin 好友,以构建自定义联系人列表。
开始学习这方面的最佳地点在哪里?.NET 中是否有每个人都使用这些东西的标准?我已经在谷歌上搜索了几个小时,虽然似乎大多数人都指向DotNetOpenAuth ,但我似乎找不到任何关于如何使用该库的可靠教程。下载带有示例,但它仍然让我感到困惑。
我认为它会很简单:
- 配置提供者的秘密。
- 使用提供商开始登录
- 使用 auth cookie 对用户进行身份验证
- 在我的数据库中创建用户记录并存储来自提供商的唯一 ID。
但似乎每个提供商都有自己的一组代码,而且这一切都如此不同和令人困惑。Facebook 有一些图形对象,twitter 有一些我不明白的“InMemoryTokenManager”,而谷歌甚至没有身份验证示例,只有一个谷歌地址簿示例。最重要的是,出于某种原因,您必须将示例中的一些 ApplicationBlock 演示中的一些代码复制到您自己的应用程序中,并且在不知道它到底要做什么的情况下编译所有代码是一项艰巨的任务。
我觉得我在这一切中缺少一些基本的东西。
在这一点上,即使是书籍推荐也会很棒。
我相信我了解 OAuth 的高级概念,但是一旦我尝试深入了解细节,我就会立即迷失方向。