我正在基于@anywhere的网页上开发一个Twitter应用程序。
我认为@anywhere是Facebook Javascript SDK的Twitter版本(也许这就是我错的地方)。
无论如何,事情就是这样。
您在网页上放置了“Connect With Twitter”代码,如果用户使用Twitter登录并授权您的应用程序,那么您可以随意执行任何操作。
因此,如果@user_a使用他的Twitter帐户登录并访问您的网站,您可以做一些奇特的事情,例如向他们的帐户显示@user_a粉丝或推文等等。
问题是这样发展的。假设@user_a已经登录到您的应用程序,然后@user_a退出twitter(因为它是一台公共计算机:/)然后其他人来到并以@user_b身份登录Twitter。如果@user_b进入您的@anywhere网页,IT将会看到所有内容,就像@user_a已登录一样! d:
Twitter说,所有这一切都很好,因为一切都基于cookie而你应该提供一个按钮,让人们从@anywhere注销你的网站。对我来说这听起来不切实际,因为如果你(用户)想要停止使用twitter,你只需从网页上注销即可(例如在Facebook上);您不应该记住,您已经连接到Twitter的网站,并向他们付费访问以退出这些网站,以保护自己免受其他人使用您的帐户。而且,更糟糕的是,这个cookie很容易被盗,你知道其余的故事。我做错了吗?我是否认为@anywhere API与预期的不同?
答案 0 :(得分:0)
@anywhere不会将自己宣传为SSO,因此它不需要单一签名机制。我们的想法是使用@anywhere登录其他站点,此时站点负责处理会话,包括何时签署用户。就像用户使用两个不同的密码登录站点a和站点b一样,他们有责任签署每个站点。
当剩下的@anywhere令牌处于活动状态时,可以允许后续用户使用令牌仅激活几个小时以限制潜在的伤害。