@ capgo/ 电容- 自动填充- save- 密码
在您的 Capacitor app 登录后显示本地保存的密码提示, 因此在用户的密码管理器, 如 iCloud 密钥链 或 Google 密码管理器 中显示证书 。 下次自动填充时用户会更快地签名.
🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用
@capgo/capacitor-autofill-save-password在您的电容应用程序中:npx skills add Cap-go/capgo-skills。然后问你的经纪人: 加入@capgo/capor-autofill-save-password到我的Capacitor应用上,并把它接上。" 代理设置指南 • 妇女 主机磁共振
主要特点
- 保存提示数字 :
promptDialog()请操作系统保存用户名和密码. - 回读数字 :
readPassword()让用户为您的应用程序选择保存的密码. - iOS系统: 使用认证 服务。 在iOS 26.2上,随后的证书通过用户所选择的证书提供者
ASCredentialDataManager。 。 。 . - 机器人:使用AndroidX证书管理器.
- 平台: iOS和Android. 互联网档案馆的存檔,存档日期2013-12-21. 在网上不可用.
从 Webview app 中将密码保存到密钥链的显示对话框提示
与 Capacitor 7+ 合作的原始插件叉
文档
这里有最完整的医生: https://capgo.app/docs/plugins/autofill-save-password/ (中文(中国大陆) )
兼容性
| 插件版本 | 电容兼容性 | 维护 |
|---|---|---|
| 联合国 | 联合国 | ✅ |
| 页:1 | 页:1 | 应要求 |
| 页:1 | 页:1 | ❌ |
| 页:1 | 页:1 | ❌ |
说明: 此插件的主要版本沿用了Capacitor的主要版本. 使用匹配您的 Capacitor 安装的版本( 如 Capacitor 8 的插件 v8) 。 只有最新的主要版本得到积极维护.
安装
您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins
然后使用下列提示:
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-autofill-save-password` plugin in my project.
如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:
npm install @capgo/capacitor-autofill-save-password
npx cap sync
先决条件
您必须设置您的应用程序的相关域 。 要学习如何设置您的应用程序关联域, 请查看 支持相关领域 在苹果开发者文档中.
然后加进你的 App.entitlements
<key>com.apple.developer.associated-domains</key>
<array>
<string>webcredentials:YOURDOMAIN</string>
</array>
把你的域名和应用程序联系起来.
如何使用
import { Capacitor } from '@capacitor/core';
import { SavePassword } from '@capgo/capacitor-autofill-save-password';
login(username: string, password: string) {
// your login logic here
SavePassword.promptDialog({
username: username,
password: password,
})
.then(() => console.log('promptDialog success'))
.catch((err) => console.error('promptDialog failure', err));
}
机器人
添加 apply plugin: 'com.google.gms.google-services' 下层 apply plugin: 'com.android.application' 内 android/app/build.gradle
这将允许插件导入适当的 lib .
那你需要确保你正确设置了你的域名 并添加了google-services.json.
引导到这里 https://developer.android.com/identity/sign-in/creditive-manager 互联网档案馆的存檔,存档日期2013-12-21
在此路径上需要文件 android/google-services.json 设置, 如果您不使用火堆添加空的 json
然后在 example-app/android/app/src/main/res/values/strings.xml
与
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://YOURDOMAIN/.well-known/assetlinks.json\"
}]
</string>
iOS系统
在iOS 26.2上以及后来, promptDialog 保存通过 ASCredentialDataManager,哪个将保存路径给用户选择的证书提供者,iCloud Keychain或第三方管理器。 在26.2以下,它回到 SecAddSharedWebCredential,苹果在26.2中贬值,并且只写给iCloud Keychain.
不管怎么样 url 选项名 证书所保存的域名,并且必须是 webcredentials: 您在上面设置的相关域 .
注意两种途径在报告内容上有所不同. SecAddSharedWebCredential 显示已丢弃的提示为错误, 所以 promptDialog 拒绝. ASCredentialDataManager 只有在系统拒绝更新时才丢出,苹果将其描述为等同于提交密码表,因此用户的选择从未到达应用. 在26.2日及后期,将一个解约视为"系统接受了请求",而不是确认密码被保存.
26时2分以后你也可以通过 title 以控制证书下的名称。 没有它,密码管理器会回到空域,所以用户可以看到 app.example.com 而不是你的产品名称。 旧API没有对应的,所以 title 在26.2以下被忽略.
API 密码
提示Dialog (...)
promptDialog(options: Options) => Promise<void>
保存密钥链的密码 .
在iOS 26.2及后期,解决意味着系统接受了请求—— 而不是证书被存储。 保存提示属于系统 用户的选择不报告,所以不处理已解决的 承诺作为确认。 在26.2以下,在Android, 驳回迅速 拒绝.
| 参数 | 类型 | 说明 |
|---|---|---|
options | Options | - 密码的选项. |
读取 Password ()
readPassword() => Promise<ReadPasswordResult>
从密钥链读取密码 。 要求开发者为iOS的应用设置关联域.
回返情况: Promise<ReadPasswordResult>
获取 PluginVersion ()
getPluginVersion() => Promise<{ version: string; }>
获取本地 Capacitor 插件版本 .
回返情况: Promise<{ version: string; }>
自: 1.0.0 (单位:千美元)
接口
选项
| Prop | 类型 | 说明 |
|---|---|---|
username | string | 要保存的用户名 . |
password | string | 要保存的密码 . |
url | string | 保存密码的url 。 (例如:"Console.capgo.app") iOS只使用. |
title | string | 证书名称在密码管理器下存档 。 (例如:"Capgo"). 默认域从 url. iOS 26.2并仅后. |
读取密码
| Prop | 类型 | 说明 |
|---|---|---|
username | string | 密码的用户名 . |
password | string | 密码的密码 . |