从小书签检查身份验证

Posted

技术标签:

【中文标题】从小书签检查身份验证【英文标题】:Check authentication from bookmarklet 【发布时间】:2015-04-24 09:23:33 【问题描述】:

我的网络应用程序具有类似于Pocket 的书签功能,因为当您访问任何网页时,如果您单击书签,它将将该页面保存到您的帐户以供以后查看。

也和Pocket类似,你必须登录才能工作,否则它不知道保存到哪个帐户,会提示你登录。

我已经设置了我的网络应用程序,因此当您访问我的 时,它会知道您是登录还是注销,但我对小书签的问题是它没有访问权限到我的网络应用程序域中的身份验证数据,因此小书签认为它未登录

我需要做什么才能让我的书签知道用户是否已经登录?

【问题讨论】:

【参考方案1】:

您的小书签可以向您的服务器发出 ajax 请求,如下所示(您必须允许服务器上的跨域请求才能发回数据,请参阅 http://en.wikipedia.org/wiki/Cross-origin_resource_sharing)。将withCredentials 设置为true 非常重要,这样用户的会话就会发送到您的服务器,并且您的服务器可以验证用户的身份验证状态。请注意,下面的代码使用 jQuery。有关如何在没有 jQuery 的情况下执行此操作的更多详细信息和详细信息,我强烈推荐:http://www.html5rocks.com/en/tutorials/cors/

$.ajax(
    url: your_url,
    xhrFields: 
        withCredentials: true
    
);

【讨论】:

我不明白。我要使用正确的 URL 调用 AJAX 调用,然后呢? 如果用户通过您的站点的身份验证,会话 cookie 将被发送到服务器并用于对用户进行身份验证。如果用户未通过身份验证,则不会发送会话 cookie,您可以在响应中告诉用户他们未通过身份验证。这有意义吗? 在我的服务器端,我如何识别会话 cookie? 与他们从网站与服务器交互时的方式相同。基本上,除了您可能需要启用 CORS 之外,服务器端没有任何区别 要在 php 中启用 cors,请查看 ***.com/questions/14467673/enable-cors-in-htaccess

以上是关于从小书签检查身份验证的主要内容,如果未能解决你的问题,请参考以下文章

Nativescript Vue + Firebase 身份验证:检查用户是不是在每个组件中进行身份验证的最佳方法?

Flutter 中的 Firebase 身份验证状态检查

检查用户是不是在 OpenFire 中经过身份验证

检查身份验证票过期而不影响它

检查用户是不是仍在 angularfire2 中通过身份验证

JSP 页面应如何检查身份验证