在rails应用程序中删除instagram授权页面的cookie

Posted

技术标签:

【中文标题】在rails应用程序中删除instagram授权页面的cookie【英文标题】:Deleting cookie of the instagram authorization page in rails application 【发布时间】:2012-01-16 06:27:18 【问题描述】:

在我的 Rails 应用程序中,我使用 oauth 来访问用户的个人资料数据。问题是当 Instagram 的授权登录页面弹出时,用户必须输入他的登录详细信息,一个 cookie 会保存在我的机器中。有没有办法删除这个cookie(显然不是手动)?我问这个是因为当再次调用 oauth 页面时,保存在我的浏览器中的这个 cookie 会自动登录用户。这已成为我的项目的麻烦。我不希望这种情况发生,我希望再次显示相同的登录页面。

【问题讨论】:

为什么您不希望在用户已经登录后自动登录?自动登录是预期/有用的行为,只会让您的用户更难操作,这会给您带来负面的用户体验,但可能还有另一种方法可以解决您的问题。 应该有某种“注销” url,您可以(作为用户)访问它,它会删除他们的 cookie。例如Twitter有this 登录页面不会每次都显示给用户。通常,他的信息将从我的数据库中的访问令牌中获取。如果访问令牌到期,他将不得不重新登录(因为 instagram 没有刷新令牌)。问题是当用户单击链接重新登录时,先前存储的 instagram cookie 会自动启动授权。我真的很想摆脱这个cookie。 我检查了 API。 instagram 中没有注销!!!!只是在某个地方读到它很快就会到来。有没有其他方法可以在不手动删除的情况下摆脱这个cookie? 【参考方案1】:

我假设您希望将用户从 Instagram 和您的应用程序中注销。为此,您可以将他们的浏览器发送至https://instagram.com/accounts/logout/。我已经看到它用作图像 URL 或加载到零大小的 iframe 中。我怀疑第二个是更好的选择。

这样,第二次将需要再次登录 instagram,但不需要他们重新授权您的应用程序。

【讨论】:

以上是关于在rails应用程序中删除instagram授权页面的cookie的主要内容,如果未能解决你的问题,请参考以下文章

Angular:Instagram 授权 - 访问令牌

Android WebView 未加载 Instagram 授权

尝试授权用户并获取令牌时突然出现 Instagram API“范围”问题 - OAuth

Instagram Omniauth on Rails invalid_credentials

Instagram 访问令牌过期

Heroku中的rails api instagram jquery env