Chrome扩展中的登录与认证实践

2023-11-27

我正在开发一个 chrome 扩展并尝试实现一种身份验证方法(firebase)。我对什么必须去哪里感到困惑,因为 popup.html 不允许内联脚本,这使得它变得更加困难。 据我所知,有两种选择:

  1. 从扩展调用外部页面(由我托管),在新选项卡中打开,在那里处理登录。但在这种情况下,扩展程序如何与登录页面通信呢?饼干?我需要在 popup.js 中进行确认

  2. 尝试在 Chrome 扩展弹出窗口中处理电子邮件/密码登录,这看起来更复杂。我总是违反内容安全政策,有点烦人。我已经尝试过了,问题是一旦关闭弹出窗口,它就会失去登录状态。

我已经研究了很多,但到目前为止还没有真正的好例子,其他问题也几乎没有得到解答。谢谢!


您可以尝试在弹出窗口中显示登录名/密码输入框,但在后台页面中运行实际的登录代码。您可以使用以下方法从弹出窗口发送消息到后台页面或直接从弹出窗口发送消息:

弹出.html:

<input type="text" id="email">
<input type="password" id="password">

弹出.js:

var email = document.getElementById("email").value;
var password = document.getElementById("password").value;

chrome.runtime.getBackgroundPage(function(bgPage){
    bgPage.performFirebaseLoginWithEmailAndPassword(email,password);
});

由于后台页面始终打开,因此当弹出窗口关闭时应保留登录状态。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome扩展中的登录与认证实践 的相关文章

  • chrome 调试器承诺在暂停时不会解析?

    也许我没有正确调试承诺 但基本上 如果您在断点处停止并运行异步代码 它实际上不会完成 直到您恢复执行为止 这是一个问题 调试器允许您快速试验多个 api 方法 但如果您恢复它 您就不能 debugger now type the follo
  • 如何通过单击图像预览上的“x”从文件输入中删除图像?

    我目前有一个文件输入 一旦用户上传图像 就会显示图像预览 在图像预览上 有一个 x 可以从列表中删除图像预览 单击此 x 后 有什么方法可以从输入中的文件集中删除图像吗
  • 网站 YouTube 嵌入视频不断播放

    我正在使用 youtube 提供的 iframe 在我的网站上嵌入视频 我还使用了一个 css 弹出窗口 这是我从这个页面学到的http www pat burt com web development how to do a css po
  • VBA / HTML / jQuery 选择自动完成 - 在列表中选择

    我正在尝试使用 Excel 中的 VBA 在网站的列表中选择一个值 这不是一个 正常列表 该网站使用 jQuery 选择自动完成 如下所示 example http davidwalsh name demo jquery chosen ph
  • 如何在ASP.NET Webform中使用Jquery表单插件?

    我遇到了这个插件 http malsup com jquery form getting started http malsup com jquery form getting started 我想知道如何在 ASP NET WebForm
  • 非 DOM 对象上的 jQuery 自定义事件

    我最近阅读了一些代码 其功能如下 bob name Bob Smith rank 7 bob bind nameChanged function bob trigger nameChanged 这似乎有效 但我在 jQuery 文档或源代码
  • Node js 使用中间件重定向进行过多重定向

    在我的 Node js 应用程序 我使用的是express 4 x 中 我想检查用户是否已登录 如果用户未登录 我想重定向到我的登录页面 然后我在中间件中这样做 服务器 js app use function req res next if
  • 在网页上的文本框中键入内容时删除所有空格

    我如何在用户打字时即时删除输入到文本框中的空格 function var txt myTextbox var func function txt val txt val replace s g txt keyup func blur fun
  • 使用 moment.js 检查输入日期是否为星期一

    好吧 我想检查日期是否是星期一 例如 var myDate new Date moment myDate DD MM YYYY dayIs monday 在我的国家 一周的第一天是星期一 所以 我真的想检查输入日期是否是一周的开始 我尝试使
  • jQuery 选择 # id 以单词为前缀,计数器为后缀

    有没有办法用 jQuery 选择所有带有前缀 my 和后缀 0 9 的 id 像这样的 my 1 4 还是可以用循环来实现 div div div div div div div div div div 第一个想法 似乎效果很好 div i
  • 动画进度元素值

    我有一个progress元素 该元素如下所示 div class container div div div
  • 检查 touchend 是否在拖动后出现

    我有一些代码可以更改表的类 在手机上 有时表格对于屏幕来说太宽 用户将拖动 滚动来查看内容 但是 当他们触摸并拖动表格时 每次拖动都会触发 touchend 如何测试触摸端是否是触摸拖动的结果 我尝试跟踪dragstart和dragend
  • 如何流式传输 OpenAI 的完成 API?

    我想流式传输结果通过 OpenAI 的 API 完成 https beta openai com docs api reference completions 该文档提到使用服务器发送的事件 https developer mozilla
  • 使用 JS 合并具有相同值的相邻 HTML 表格单元格

    我已经为此苦苦挣扎了一段时间 我有一个根据一些 JSON 数据自动生成的表 该数据可能会有所不同 我想合并第一列中具有相同值的相邻单元格 例如此表中的 鱼 和 鸟 table tr td fish td td salmon td tr tr
  • 查询为空 Node Js Sequelize

    我正在尝试更新 Node js 应用程序中的数据 我和邮递员测试过 我的开发步骤是 从数据库 MySQL 获取ID为10的数据进行更新 gt gt 未处理的拒绝SequelizeDatabaseError 查询为空 我认识到 我使用了错误的
  • Select2 下拉列表动态添加、删除和刷新项目

    这让我发疯 为什么 Select2 不能在其页面上实现清晰的方法或示例如何在 Select2 上进行简单的 CRUD 操作 我有一个 select2 从 ajax 调用获取数据
  • 如何获取 UIWebView 中元素的位置?

    我在 iPad 程序中加载了 html 的 UIWebView 通过使用 webkit column width 我将 html 分为几列 padding 0px height 1024px webkit column gap 0px we
  • 如何在 javascript 正则表达式中匹配平衡分隔符?

    我原以为这个问题是不可能的 据我所知 Javascript 的正则表达式既没有递归插值 也没有漂亮的 NET 平衡组功能 但问题就在那里 如问题 12 所示正则表达式 alf nu http regex alf nu 匹配平衡对 lt an
  • Jquery - 通过在字符串中构建 id 的 id 获取元素

    我在使用 jquery 元素时遇到问题 我正在 var 中构造名称 例如 var myId myGotId myId attr title changed myId 返回空 我想通过 id 获取我的元素 但动态构建我的 Id 连接字符串 编
  • 需要有关 React Js 的帮助

    我是 React Js 新手 我的代码无法正常工作 请看下面 这是我的脚本文件Main jsx 该文件由 React 编译 输出放置在 dist 文件夹下的 main js 文件中 var react require react react

随机推荐

  • 列出带全键的 Rails I18n 字符串

    我希望能够生成区域设置的所有 I18n 键和值的完整列表 包括完整的键 换句话说 如果我有这些文件 config locales en yml en greeting polite Good evening informal What s
  • Prettier 代码格式不会在 JSX 或 HTML 中拆分 classNames

    我启用了 Prettier VSCode 扩展 并且我的本地 prettierrc 文件已 printWidth 70然而 作为选项之一 当我的 JSX 或纯 HTML 文件中有一长串类名时 Prettier 不遵循printWidth设置
  • 如何在 Yup 异步验证中设置动态错误消息?

    我正在使用 Yup 在 Formik 中尝试异步验证 test 方法并需要设置我从 API 获得的错误消息 根据后端的某些情况 错误消息会有所不同 尝试了这里提到的一些解决方案 https github com jquense yup is
  • 新 Android Studio 中的 APK 位置

    我开始使用新的 Android Studio 但在 IDE 中找不到应用程序的 APK 它实际位于哪里 为了帮助可能寻找同一问题答案的人 了解您在 Studio 中使用的项目类型非常重要 Gradle 新建项目时默认的项目类型 一般推荐使用
  • 使用 AngularJS 路由持久化查询字符串

    我已经在一个大型 Angular 应用程序上工作了近一年了 但我一直在尝试做我期望的微不足道的事情 这是我使用参数的两条路线 为了简洁而缩短 a id a id b 假设用户位于 a 1并修改查询字符串 例如 a 1 foo 123 bar
  • 如何使用 Java 8 流迭代引用父元素的嵌套 for 循环?

    我想使用 java8 迭代嵌套列表streams 并提取第一个匹配的列表的一些结果 不幸的是 如果子元素与过滤器匹配 我还必须从父内容中获取值 我怎么能这样做呢 java7 Result result new Result find fir
  • 在不存在的地方插入-无主键

    我有 3 个表 dentists groups 和 groupdentlink 许多牙医通过 groupdentlink 表链接到许多组 因此 我尝试进行一个查询 将行插入到 groupdentlink 将该州的所有牙医与该州的所有组链接起
  • Android:在图像视图上设置时如何检测从图库中选取的图像方向(纵向或横向)?

    我正在从图库 相机相册 中选取的图像视图上设置图像 如果选取的图像具有横向方向 则它会完美显示 但如果图像处于纵向模式 即在纵向模式下单击图像 则会显示旋转 90 度的图像 现在我试图找出在图像视图上设置之前的方向 但所有图像都给出相同的方
  • 哪个版本的 jQuery 和 jQuery Mobile 可以一起工作?

    我正在开展一个业余项目 希望它成为一个包含地理定位的移动应用程序 不过 我想从简单的开始 哪个版本的 jQuery 和 jQuery Mobile 协同工作效果最好 我在 iPad 应用程序上使用了一些旧版本 但我想知道更新的版本是否可以真
  • 如何在 Objective-C 中检测外部键盘连接?

    我的应用程序需要知道外部键盘是否连接 我怎样才能知道这一点 请不要使用私有 API 如果这与 iOS 相关 我不确定您为什么要检测它 因为硬件键盘的行为与软件键盘完全相同 除了一些额外的声音 亮度等快捷方式 您的应用程序不应该这样做 无论如
  • 错误:无法为 backports.zoneinfo 构建轮子,安装 django 时出错

    我是 python 开发新手 我正在尝试使用 django 但在使用安装 django 时遇到此错误pip3 install django 4 0 我尝试了一些解决方案 但没有一个有效 我已经尝试过了 将 pip 升级到最新版本 pip i
  • 如何使用 shell 脚本删除字符串中的尾随字符?

    如何删除最后一个n使用 shell 脚本从特定字符串中提取字符 这是我的输入 ssl01 49188 ssl01 49188 ssl01 49188 ssl01 49188 ssl999999 49188 ssl01 49188 abcf9
  • 在 D3.js 中使用序数比例创建标记为 x 轴的文本

    我正在 d3 js 中构建一个带有序数 x 轴的条形图 其刻度应使用文本标记图表 谁能解释序数刻度如何 映射 x 到相应的条形位置 具体来说 如果我想将带有文本值数组的 x 刻度标签指定为条形图中相应的条形 目前我将域设置如下 var la
  • 查找直方图最大值对应的 x 值

    我记录下来是为了证实 S O 的想法 感谢迈克尔 0x2a 我一直在尝试找到与绘制的直方图最大值相关的 x 值matplotlib pyplot 起初 我什至无法找到如何仅使用代码访问直方图的数据 import matplotlib pyp
  • 检查文件是否已经打开

    我正在编写一个文件读取库 需要检查文件是否已打开 以便我可以跳过打开语句并直接进行读取 在 Fortran 中如何实现这一点 当人们想了解与外部文件的连接时 可以使用inquire陈述 有两种形式 按卷查询 按单位查询 tom s answ
  • 如何从Windows服务运行exe并在exe进程退出时停止服务?

    我是使用 Windows 服务的完全初学者 我已经为该服务制定了基本框架 目前正在这样做 protected override void OnStart string args base OnStart args Process Start
  • 切换到任何 CPU 配置后,Win 服务项目将无法构建

    我正在尝试找到解决我的问题的方法 将我的 net 4 0 C Win Service 项目更改为 Any CPU Release 构建配置后 我收到以下编译时错误 Cannot specify main if building a modu
  • 动态模块未定义init函数(PyInit_fuzzy)

    我正在使用Python3 4 我正在尝试安装模糊模块 https pypi python org pypi Fuzzy 由于提到它仅适用于 Python2 因此我尝试使用 cython 对其进行转换 这些是我遵循的步骤 cython 模糊
  • 在 C++ 中使用私有函数覆盖公共虚函数

    是否有任何理由使重写的 C 虚函数的权限与基类不同 这样做有危险吗 例如 class base public virtual int foo double 0 class child public base private virtual
  • Chrome扩展中的登录与认证实践

    我正在开发一个 chrome 扩展并尝试实现一种身份验证方法 firebase 我对什么必须去哪里感到困惑 因为 popup html 不允许内联脚本 这使得它变得更加困难 据我所知 有两种选择 从扩展调用外部页面 由我托管 在新选项卡中打