7

这是交易:
- Flair非常需要 Facebook 应用程序
- 我正在努力学习 Facebook 平台

因此,我编写了一个小巧的 Facebook 应用程序,将您的 Flair 嵌入到您个人资料侧面的一个框中。 如果您有兴趣并在 Facebook 上;请注意,这是一项正在进行中的工作,容易发生变化并且有很多粗糙的边缘。

但是,我没有一种优雅的方式可以从这个极简的应用程序中说“这是我的 Stackoverflow 配置文件”。我目前的解决方案最好地展示了这个形象。坦率地说,这是愚蠢的。并且没有什么可以防止冒充。

没有使用 OpenID 的经验,我想知道是否有某种方式(请提供一些这种方式的示例)让用户将他们的 Stackoverflow 身份提供给第三方?


行为改变为诺多林的回答所建议的。
在 UserVoice 上请求以更明智的方式执行此操作被拒绝

4

2 回答 2

9

没有办法从 OpenID 获取 StackOverflow ID,相反的做法是可能的,但不必要地复杂(与您建议的方法相比)。在我看来,复制和粘贴用户 ID/个人资料 URL 并不是很不方便。

但是,我可以建议某种解决模拟问题的方法。这可能看起来有点愚蠢,但这是我认为确保只有用户自己可以显示徽章的最简单方法。再说一次,我不认为这太不方便了。(鉴于电子邮件不公开,因此无法使用更传统的电子邮件确认方法。)

  1. 让您的 Facebook 应用程序生成一个随机(字母数字?)代码。表格中的某些内容A8IO45QW6T应该做。
  2. 将此代码在 Facebook 应用程序的服务器端保存一小段时间(例如 5 分钟)。
  3. 通过将给定的代码添加到最后一行,指示用户编辑他们的About Me信息,然后返回 Facebook 并确认。对指定用户的个人资料页面的 HTML 的简单检查将验证所有权。然后,用户可以从他们的About Me文本中删除验证码。

顺便说一句,创建这个 Facebook 应用程序是个好主意。我可以试试看!

于 2009-05-19T20:19:58.863 回答
2

另一个允许即时验证的解决方案是散列电子邮件地址并检查它是否与用户的 Gravatar 匹配。当然,并非每个用户都提供了电子邮件地址,但您始终可以先执行此检查,如果失败,您可以退回到“关于我”部分编辑(或仅要求用户有电子邮件地址)。这个想法不是我的,所以我让null 解释一下

你还有可用的源吗?因为我已经找到了一个解决方案来防止其他用户弄乱你的结果。您只需对查看者使用的电子邮件地址进行哈希处理,并检查页面上的 gravatar 图像链接,如gravatar 网站上所述。如果用户 id 和图像哈希匹配,则将更改记录到数据库中,否则...仅显示结果。我可以做出改变,但来源似乎丢失了...... :(

于 2009-05-20T18:43:08.880 回答