【发布时间】:2013-03-24 02:49:31
【问题描述】:
我正在为需要执行以下操作的客户创建应用程序:
- 允许用户使用 Google、Facebook、Twitter 和 LinkedIn 进行身份验证。
- 允许用户在注册后添加其他提供商。 (即,如果用户通过 Google 进行了身份验证,那么他们也应该能够添加任何或所有其他提供商。)
- 允许用户导入 Google 联系人、Facebook 好友列表、Twitter 关注者和 Linkedin 好友,以构建自定义联系人列表。
从哪里开始学习这方面的最佳起点? .NET 中是否有每个人都使用这些东西的标准?我已经在谷歌上搜索了几个小时,虽然大多数人似乎都指向DotNetOpenAuth,但我似乎找不到任何关于如何使用该库的可靠教程。下载带有示例,但我仍然感到困惑。
我认为它会很简单:
- 配置提供者的秘密。
- 开始使用提供商登录
- 使用身份验证 cookie 对用户进行身份验证
- 在我的数据库中创建用户记录并存储来自提供商的唯一 ID。
但似乎每个提供商都有自己的一组代码,而且这一切都如此不同和令人困惑。 Facebook 有一些图形对象,twitter 有一些我不明白的“InMemoryTokenManager”,而谷歌甚至没有身份验证示例,只有一个谷歌地址簿示例。最重要的是,出于某种原因,您必须将示例中的一些 ApplicationBlock 演示中的一些代码复制到您自己的应用程序中,并且在不知道它到底想做什么的情况下编译所有代码是一项艰巨的任务。
我觉得我在这一切中缺少一些基本的东西。
在这一点上,即使是书籍推荐也会很棒。
我相信我了解 OAuth 的高级概念,但是一旦我尝试深入了解细节,我就会立即迷失方向。
【问题讨论】:
-
不幸的是,您希望如何实现每个社交网络 API 的程度会有所不同。但是,它们中的大多数使用带有 Token 的 O'Auth 形式来实际连接。
-
我只是希望有一些简单的 DotNetOpenAuth 教程。每个要求此类文档的 SO 问题都不可避免地被告知“下载示例,这就是您所需要的”。对于像我这样明显愚蠢的人来说,这些样本并不是“你所需要的全部”。
-
我会查看 O'Auth 官方网站。另外,我会看一本关于 O'Auth for Social Networks 的书。
标签: c# asp.net asp.net-mvc oauth oauth-2.0