惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
阮一峰的网络日志
阮一峰的网络日志
V
Visual Studio Blog
雷峰网
雷峰网
博客园_首页
The Cloudflare Blog
Hugging Face - Blog
Hugging Face - Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
爱范儿
爱范儿
小众软件
小众软件
D
Docker
P
Proofpoint News Feed
B
Blog
Vercel News
Vercel News
B
Blog RSS Feed
U
Unit 42
月光博客
月光博客
The GitHub Blog
The GitHub Blog
Apple Machine Learning Research
Apple Machine Learning Research
Y
Y Combinator Blog
I
InfoQ
Recent Announcements
Recent Announcements

GoodBoyboy 's Blog|惬意小屋-点滴记忆

嘉立创牛逼,免费的总裁卡到了 时间过得蛮快的 撒谎撒多了,别把自己都骗了 Fedora LUKS2设置TPM2+PIN与FIDO2解锁 解决天选三AX210在fedora 44/Ubuntu 26.04上睡眠后恢复失败的问题 新的博客评论系统正式启动 博客评论数据已全部完成迁移 评论系统即将更换 在WSL中使用Canokey智能卡进行Git Commit签名 博客评论系统的一些设计 打算做个博客评论系统 开了一个游泳馆的月卡 今天游泳累炸了 回家吵的第一场架 新设计了一个Astro主题 Cap,一个基于PoW的自托管验证码系统 公益服务迁移通知 一种基于argon2id算法与shamir算法的内存PoW(工作量证明)解密游戏 记忆里的屋子(一) Ubuntu 26.04 Btrfs+LUKS2安装 主域名服务不稳定通知 腾讯元宝客户端实习二面凉经 腾讯元宝客户端实习一面面经 对越来越多AI博文的看法 GoodBoyboy Blog、Talk联动成功 只有失去了才会懂得珍惜,但幸好我还没有失去 滴滴Android客户端一面凉经 GoodBoyboy 's Talk上线! Easy Drop——一个基于Gin开发的高性能、轻量级说说平台 Perfect Pic —— 一个基于 Gin 开发的高性能、轻量级图床
Android第三方Passkey管理器探索
GoodBoyboy · 2025-06-28 · via GoodBoyboy 's Blog|惬意小屋-点滴记忆

前言

相信经常在国际互联网冲浪的友友对Passkey一定不陌生,Google,GitHub等网站均支持Passkey一键登录,国内手机厂商也有推行Passkey的趋势(?)

众所周知,国内很多手机厂商在以前都是管生不管养。基本上手机发售一年以后就别想着升级了,现在各大手机厂商稍微好一些。

然而,虽然系统是更新了,但是部分功能只有在新机型上才做适配,而本文的主角Passkey就是其中之一。

博主手中的OPPO Find X5虽然已经更新到ColorOS 15,但是Passkey功能仍然无法使用,仅在OPPO Find X6及其以上的机型才支持。

虽然可以通过插入Canokey等物理安全硬件来实现Passkey登录,但是我日常外出一般是不带这些安全硬件的(怕丢)。

并且我之前也吐槽过,既然通过Google的GMS都可以让我手机使用Passkey,为啥OPPO不支持。。。

探索过程

偶然间,看到一篇文章,说在Android 14中引入了Credential Manager API,该API可以用于集成密码管理工具,让密码管理工具来管理凭据,其中就提到了Passkey

https://developer.android.com/identity/sign-in/credential-provider?hl=zh-cn

在此之前Android的默认Passkey实现是在Google的GMS中,并且也是对接的Google的凭据管理器

当时看到这篇文章时博主手机系统还是ColorOS 14,系统为Android 14,但是在网上下载了一个测试Demo软件,发现并不支持Credential Manager API,应该是厂商还没适配好

毕竟当时我也吐槽过,OPPO自家的Passkey实现与凭据管理器只在系统自带的浏览器上能调用,在Edge和Chrome中均调用的Google的Passkey实现与凭据管理器。

但是Google的Passkey实现会将Passkey上传到云端,并不是保存在手机本地,因此对其安全性表示怀疑(虽然声称是使用屏锁进行端到端加密)

没办法,可以说手机的Passkey功能基本用不了(包括一些Fido的2FA),如果实在要用Passkey,只能临时拿Canokey捅手机“屁股”或者用NFC(Canokey Canary已解决NFC感应问题),调用Google的Passkey实现来通过认证。

Tips:这个实现可以调用不同的凭据来源(保存密码的实现),Google的Passkey实现可以通过USB和NFC读取我手中的Canokey硬件,而OPPO的Passkey实现NFC读不了,USB处于半残状态(现在已经是完全残废的情况了)

这个方案一直在用,直到ColorOS 15最近的一次更新,我发现现在无论是OPPO自家的浏览器,还是Edge,Chrome甚至是Firefox,都会调用OPPO自家的Passkey实现

这就严重影响我的使用体验,因为OPPO自家的Passkey实现只会调用自家的凭据管理器(密码本),而且对于外置硬件也是半残状态(Google的至少我还能用Canokey硬件)

但令我没想到的是,我在手机设置里找到了一个新页面“登录信息自动填充服务”,这个页面有个“密码管理服务”,包含“密码本”(OPPO 用于保存密码的软件,包含存储Passkey),“Authenticator”(微软的),“Google”

然后默认是打开了密码本的,Google的没有打开。

我想,这会不会就是问题所在,于是我把密码本的关了,把Google的打开,发现Edge可以用Google的Passkey实现了

看到剩下微软的那个authenticator,突然想到会不会更新后现在已经支持使用第三方凭据管理器了?

Tips:微软的authenticator已经宣布即将停止对密码管理功能的支持

于是下了个Bitwarden,发现确实新增了该选项

众所又周知,Bitwarden是可以自托管的,而且还有vaultwarden这种第三方项目来降低托管压力,所以临时先在本地服务器上建了个,尝试了一下,发现可以完美使用Passkey的

现状

原先情况:

Edge,Chrome->Android Passkey接口-> Google Passkey实现(默认)->Google密码管理器/外置硬件

OPPO浏览器->OPPO Passkey实现(第三方)->密码本(不支持)/外置硬件(残废)

现在:

Edge,Chrome-> Android Passkey接口->OPPO Passkey实现(默认)->Credential Manager API(在设置中选择)->密码本/Google/Bitwarden/外置硬件(残废)

Tips:OPPO浏览器仍然不支持Credential Manager。另外如果仅开启Google,则会调用到Google Passkey的实现

并且由于调用的是OPPO的Passkey接口,现在还支持跨设备使用(手机扫描电脑上的Fido二维码在电脑上进行登录或注册)

因为该功能需要使用服务器,所以原先Google的Passkey就用不了(可能因为安全设计原因,挂了代理也会在最后一步失败)

后记

主要是Bitwarden在断网情况下无法新增,读取Passkey好像也有点问题?感觉这点比keepass就差点

不过这也主要看客户端实现咯,像PC上的KeepassXC就不支持在无网情况下使用已连接过的远程的密码库,而在Android上的客户端Keepass2Android就支持无网使用已连接过的远程密码库

虽然现在Keepass本身已经支持保存Passkey,但是Keepass2Android目前还不支持使用Credential Manager API来保存(悲)

目前打算先用着Bitwarden,希望Keepass2Android作者能尽快更新这个功能吧

另外由于选择Bitwarden则会调用OPPO Passkey的实现,所以我的Canokey完全用不了,只能在要使用的时候再切换成Google的了(悲)