gpt4 book ai didi

javascript - Chrome 扩展程序/网络应用程序 session 控制

转载 作者:行者123 更新时间:2023-11-30 10:48:22 25 4
gpt4 key购买 nike

我正在创建一个 chrome 扩展程序,而不是 chrome webapp。此应用程序仅包含 html、js、图像和 css 文件。该应用程序连接到服务器以获取数据。我选择这样做是因为它会减少用户下载的文件量。使用 Backbone.js 我的应用程序中有一个 MVC 架构。因此应用程序只发送 json。

话虽如此,我需要一个 session 管理。我计划使用 Google 身份验证,因为该组织有 Google Apps。我需要一种方法,一旦用户使用 google auth 登录,服务器就会在每次应用程序发出请求时获取用户名。

如果可能的话,在请求 header 中添加用户名是个好主意吗?还是我应该使用 cookie?谁能告诉我在这种情况下如何使用 cookie?

最佳答案

这可能是一个迟到的响应,但我想向您提供一个更优雅的解决方案,因为用户在他们的浏览器中启用了 cookie。首先阅读我的 answer关于另一个问题。

现在您可以从您的内容脚本发送跨源 xhr,您需要做的就是将所有身份验证和 session 管理存储在仅在服务器。没错,你只需要根据服务器响应在客户端显示用户是否登录和注销按钮。

只需按照以下步骤操作即可。

  1. 在客户端 每当用户访问您的 chrome web 应用程序时,盲目地向您的服务器发出 XmlHttpRequests 而不必担心身份验证,只需在服务器的响应上保持一个标签,我将在下面进行描述。

  2. 在服务器 每当您收到有效 session 或 session cookie 的请求检查。如果 session 有效,则发送正确的响应,如果不是,则发送错误、401 或任何其他响应以告知您的客户端该 session 无效。如果您发送错误代码(例如 401)会更好,因为这样您就可以在客户端放置一个通用脚本来通知他们他们没有登录。

  3. 在客户端如果服务器的响应正确,则显示它,否则显示您网站的登录链接。

  4. 重要:如果用户已登录,则显示注销按钮。

查看我对此 in my extension 的实现

关于javascript - Chrome 扩展程序/网络应用程序 session 控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6991226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com