Chrome扩展 - Send token创意与思路

背景

在我们的前端项目开发开发过程,页面搭建和交互开发以及接口对接的工作是先行的,而用户体系和注册登录需要后期对接统一的登录认证平台。初期搭建页面和业务逻辑开发的时候不涉及到用户信息,但是到对接接口的阶段开始需要使用token去获取用户信息。

而彼时,登录认证的对接工作还没有开启,所以只能通过公共的登录页面完成用户登录操作,从localstorage中拿到token字段,再注入到我们开发的项目地址对应的localstorage中。然后我们正在开发的项目就可以实现从localstorage获取token写入header指定的认证字段,实现通过后端接口的用户信息校验。

还有一种常见的情况是,项目登录对接地址和登录成功的回调地址都是线上环境,但是我们平时开发使用的是本地locahost环境,所以无法通过正常的登录授权处理逻辑获取token。

问题在于这个过程机械且耗时,而且一旦token失效,需要重新登录,反复执行这些操作步骤。

创意

如果我能把token读取和发送的过程自动化,是不是能够节省很多时间?

思路

通过系统级的应用控制

比如Alfred,可以使用workflow功能实现很复杂的操作逻辑。但是实际调研发现,无法对chrome浏览器进行深入控制。一是权限问题,二是操作复杂,而且利用系统级命令,好多chrome的能力无法使用。

chrome扩展程序

很早的时候我就接触过chrome扩展,那时更多的是作为使用者,比如:知乎自动跳转链接、百度文库下载、百度云文件下载、百度搜索去广告等等。期间也自己尝试开发过,但是由于适用场景比较单一,更适合自用。所以并未上传发布,而是采用文件夹或者zip压缩包方式直接本地安装。

不过,在使用的过程中,多多少少还是了解到一些扩展程序的强大能力的。我相信,chrome扩展会是一个不错思路,应该能够提供解决方案。

经过调研,最终确定chrome扩展的执行逻辑:

  • 读取当前页面的localstorage;

  • 检查localstorage是否包含token字段;

    • 不包含则弹窗提醒;
    • 包含则读取token并使用chrome.storage.local进行存储;
  • 然后通过tabs权限遍历查找目标页面(比如我们开发时使用地址localhost:8080);

    • 查找不到目标页面则弹窗提醒;
    • 查找到目标页面则读取chrome.storage.local存储的token;
  • 将读取到的token写入目标页面的localstorage中;

  • 刷新当前页面,token将会被在调用接口时被传入header中指定的认证字段;

  • 完成!

总结

  • 涉及到的权限要合理使用,不然可能需要处理各种复杂的情况;

  • 要能够定义目标路径进行,支持模糊匹配;

  • 实际执行过程中,需要处理好各种意外情况;

截止到目前Send token已在Google Chrome扩展商店发布上线,有兴趣的可以自主搜索Sendtoken下载安装。

PS:如果有需要补充的内容,请在评论区留言

转载时请注明"来自掘金 - EvenZhu"

相关推荐
华山令狐虫3 分钟前
el-tabs 样式修改
前端
成都古河云4 分钟前
智慧园区:解析集成运维的未来之路
大数据·运维·人工智能·科技·5g·安全
木凳子a2 小时前
怎么给儿童掏耳朵比较安全?安全儿童可视挖耳勺推荐
人工智能·安全·信息可视化·智能家居·健康医疗
史努比的大头2 小时前
前端开发深入了解webpack
前端
Dovir多多2 小时前
渗透测试入门学习——php与mysql数据库连接、使用session完成简单的用户注册、登录
前端·数据库·后端·mysql·安全·html·php
B.-2 小时前
Remix 学习 - @remix-run/react 中主要的 hooks
前端·javascript·学习·react.js·web
小刘|2 小时前
《实现 HTML 图片轮播效果》
前端·html
网安詹姆斯3 小时前
网络安全(黑客技术)2024年三个月自学计划
网络·数据结构·python·mysql·安全·web安全·github
Flying_Fish_roe3 小时前
linux-安全管理-文件系统安全
linux·运维·安全
罗_三金3 小时前
微信小程序读写NFC标签(实现NFC标签快速拉起小程序)实战
前端·javascript·微信小程序·小程序