让Chrome扩展检测用户是否登录到我的Wordpress网站

让Chrome扩展检测用户是否登录到我的Wordpress网站,wordpress,google-chrome-extension,token,wordpress-rest-api,Wordpress,Google Chrome Extension,Token,Wordpress Rest Api,我有一个Wordpress网站和一个Chrome扩展。如果用户登录该网站,我希望Chrome扩展知道这一点(反之亦然)。Chrome扩展将没有登录表单;用户将始终通过网站登录表单登录。 当您登录网站时,Wordpress默认设置其身份验证cookie以识别用户。我最初的想法是:我还想返回某种访问令牌,我将它存储在扩展可以找到它的地方,并使用它向Wordpress REST API发出经过身份验证的请求。但是我应该在哪里存储它(以安全的方式),以便在扩展中找到它? 也许我应该尝试另一种方法 谢谢大

我有一个Wordpress网站和一个Chrome扩展。如果用户登录该网站,我希望Chrome扩展知道这一点(反之亦然)。Chrome扩展将没有登录表单;用户将始终通过网站登录表单登录。
当您登录网站时,Wordpress默认设置其身份验证cookie以识别用户。我最初的想法是:我还想返回某种访问令牌,我将它存储在扩展可以找到它的地方,并使用它向Wordpress REST API发出经过身份验证的请求。但是我应该在哪里存储它(以安全的方式),以便在扩展中找到它?
也许我应该尝试另一种方法


谢谢大家!

你能做的,更简单的方法:

  • 创建Ajax操作或REST API路由
  • 正如您所看到的,身份验证是基于cookie的。因此,一旦用户从WordPress登录表单登录,验证cookie就会添加到您的浏览会话中
  • 如果没有覆盖,当使用JS HTTP查询(例如ajax)时,cookie也将被转发
  • 您的路由可以像可用的方法一样检查
    是否已登录用户()
    wp\u获取当前用户()
    。并将结果(如果需要,还包括其他内容)返回到插件JS
  • 您可能需要更改WordPress cookie配置,以便可以从任何位置(任何域)访问它们,请检查
更好的方法:

  • 将使用一个插件来实现RESTAPI Oauth2身份验证
  • 用户应该能够直接从扩展窗口登录(需要开发),然后使用刷新令牌功能保持用户登录
  • 我相信您可能还需要更新您的实际登录表单,如果它的经典或OAuth rest API登录应该能够将所需的OAuth令牌(访问和刷新令牌)发送回前端(然后存储在本地存储或其他)供扩展使用。以避免必须登录两次

你好,Mtxz,感谢您的回复!我在想“Chrome扩展如何访问另一个网站设置的令牌(在localStorage或cookie中)”,但我刚刚发现,Chrome扩展可以完全访问存储和cookie,只要您在扩展清单上将“cookie”和“storage”作为权限。