提高生产力|拒绝手机扫码鉴权登录

前言

你有没有一张清单?记录着日常不顺手的地方,等到一有空闲,一一去攻克它。

编写业务代码是对用户的优化,编写环境代码是对自身工作的优化。时间不可逆,缩短机械操作的时间,可以节省无意义的消耗,拥有更多的自由时间,才能有更多的时间投入与自身成长和环境优化相关的工作中,进而继续寻找优化时间的方法,这是一个良性循环,也是优化时间配置的关键。

这不,头疼的问题来了

公司内网站点使用企业微信鉴权,就是我最头疼的问题。

每当管理后台 Session 一过期,我这个日常工作中手机保持断网的家伙,总得老不情愿地拎起手机 -> 手动密码解锁(戴口罩没法人脸解锁,不方便+1) -> 开启网络 -> 打开企业微信 -> 扫码 -> 关闭网络 -> 锁屏。

如果每次登录耗时 30 秒,一天最少 3 次,一天浪费 1.5 分钟,一个月浪费 33 分钟,惨兮兮。

没有什么事情是一个脚本解决不了的

那首先,我们要来确认下,通过电脑企业微信的方式鉴权是否可行。

第一步:截图

第二步:使用某网站进行二维码提取 url,嗯看起来是个带了有效期 token 校验的 url

直接打开?行不通。

第三步:那换个思路,通过企业微信打开,发送到企业微信的文件助手,再点击打开,鉴权成功!

image

上面的链接复制粘贴到企业微信重新打开后,实际上带上了鉴权信息:

二维码链接:https://open.work.weixin.qq.com/wwopen/sso/confirm2?k=c38869f5165ee77e

鉴权链接:https://open.work.weixin.qq.com/wwopen/sso/confirm2?k=c38869f5165ee77e&st=7C143B7A13F375CD4EB89CEB7B63077C89E3E5C7252495246FD6C919656F0685EA8BD5D8E90C14B343D50FB23E8534F7C868FF81B91BD75CB9F42B24F00CCC583EA4C47750825EC5D922B45B31290E71E1EE394CA67DD5FEAEB392B6BABD08FCC6C3F21066E1C3AD483092EF936C20AD700EEE4DA36C9E77A4DC4691043C7553E178EDBB83233F260EF85156393CCE65D86682210B3CB4DF7554BE0CEB6425DC&vid=1688850316522424&cst=6F409C81BE505448761730EAF144B83CBC333F44486BA80C3482AE283B5C7C824EE5C87A3B91B75E764338D09410FC6C&deviceid=4c23ac3d-14953d740311&version=3.0.23&platform=mac

那我们思考下自动化脚本可以代替手工完成的步骤,能不能一个指令就自动完成鉴权?

说干就干。

准备工作

  • 安装 Keyboard Maestro 9

原理解析

第一步:调用系统剪贴板,保存目标二维码图片

通过 Keyboard Maestro 的「Simulate keystroke」方法可以模拟按下「将所选区域的图片拷贝到剪贴板」的快捷键,我把系统的「将所选区域的图片拷贝到剪贴板」设置为指定快捷键,就可以间接调用系统截图功能啦。

第二步:等待截图完成

「Simulate keystroke」方法在按下快捷键后就已经完成,此时它会继续执行剩下的动作,但此时我们的截图操作还没有完成,所以我们需要让 Action 流阻塞一下。

这里有一个小技巧 —— 通过 Keyboard Maestro 的「Pause Until」方法。

我们在截图时需要按下触控板,然后滑动,再松开。我们让 Keyboard Maestro 一直等待,直至这个滑动再松开的动作完成:

  1. 暂停,直至鼠标左键按下,此时开始选择截图区域
  2. 暂停,直至鼠标左键松开,此时完成截图区域的选择,系统也完成了截图
  3. 等待 0.5 秒,保证截图一定会在剪贴板中

第三步:OCR 二维码,提取 url,发送解析结果通知

这里,我们会借助 ZBar 库,ZBar 是一个开源库,用于扫描、读取二维码和条形码。

通过 Homebrew 安装命令行工具 ZBar : brew install zbar

配置「Execute Shell Script」来执行指定命令行,间接调用 ZBar。在识别完成后发送了一个系统通知,这样就能方便知道识别后的文本是什么。并且自动将结果保存到剪贴板。

第四步:分享到企业微信进行鉴权

很可惜,这一步无论是使用 Maestro 还是 mac 自带的自动操作,都无法实现剪贴板分享到企业微信文件传输助手功能,只能让 Maestro 激活企业微信至前台,手工粘贴一下,如果有小伙伴琢磨出来方法,欢迎留言告诉我。

至此,自动化完成。

后记

  1. 由于软件开发的特殊性,使得我们在使用工具(软件)的同时,还能创造工具(软件)。
  2. 在恰当的时候让一切可以自动化的事情自动化。今天的计算机已经完全有能力帮我们做足够多的事情。而现实是,我们往往将那些可以被计算机做的事情揽到自己手中,手工去完成,这个效率又怎么能提高上去呢?

我是 FeelsChaotic,一个写得了代码 p 得了图,剪得了视频画得了画的程序媛,致力于追求代码优雅架构设计T 型成长

欢迎关注 FeelsChaotic 的简书掘金如果我的文章对你哪怕有一点点帮助,欢迎 ❤️! 你的鼓励是我写作的最大动力!

最最重要的,请给出你的建议或意见,有错误请多多指正!

本篇完成耗时:瞎折腾的端午假期

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350