跳转至正文
@capgo/capacitor-persona 身份验证与安全 开源

用户画像 Capacitor 插件

使用原生 iOS 和 Android SDK 发起 Persona 身份验证请求

安装

bun add @capgo/capacitor-persona bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-persona
  • pnpm add @capgo/capacitor-persona
  • yarn add @capgo/capacitor-persona

指南

如何在 Capacitor 中使用 Persona

使用 @capgo/capacitor-intune

用于 Microsoft Intune MAM 注册、应用保护策略、应用配置及 MSAL 身份验证的 Capacitor 插件。

安装

bun add @capgo/capacitor-intune
bunx cap sync

bunx cap sync 将插件的原生 code 复制到你的原生项目中。每次升级插件后都要重新运行。

导入

import { IntuneMAM } from '@capgo/capacitor-intune';

API 概览

方法 描述
acquireToken 展示 Microsoft 登录流程,并返回 access token 及账户元数据。
acquireTokenSilent 为之前登录过的用户从 MSAL 缓存中获取 token。
registerAndEnrollAccount 将之前已认证的账户注册到 Intune 并启动注册流程。
loginAndEnrollAccount 无需先请求 app token,让 Intune 认证并注册用户
enrolledAccount 返回当前已注册的 Intune 账户(如果存在)。
deRegisterAndUnenrollAccount 从 Intune 取消注册账户,并在适用时触发选择性擦除。
logoutOfAccount 让用户退出 MSAL 登录,但不取消 Intune 账户注册。
appConfig 获取受管账户的远程 Intune 应用配置。
getPolicy 获取受管账户当前生效的 Intune 应用保护策略。
groupName 便捷辅助函数,用于解析 GroupName 存在时的应用配置值。
sdkVersion 返回此插件绑定的原生 Intune 和 MSAL SDK 版本。
displayDiagnosticConsole 显示原生 Intune 诊断 UI。

示例

acquireToken()

展示 Microsoft 登录流程,并返回 access token 及账户元数据。

import { IntuneMAM } from '@capgo/capacitor-intune';

const result = await IntuneMAM.acquireToken({ scopes: ['openid'] });
// The result holds sensitive values: use it without logging it.

acquireTokenSilent()

为之前登录过的用户从 MSAL 缓存中获取 token。

import { IntuneMAM } from '@capgo/capacitor-intune';

const result = await IntuneMAM.acquireTokenSilent({
  scopes: ['openid'],
  accountId: 'acquireToken',
});
// The result holds sensitive values: use it without logging it.

registerAndEnrollAccount()

将之前已认证的账户注册到 Intune 并启动注册流程。

import { IntuneMAM } from '@capgo/capacitor-intune';

await IntuneMAM.registerAndEnrollAccount({ accountId: 'account-id-123' });

loginAndEnrollAccount()

无需先请求 app token,让 Intune 认证并注册用户

import { IntuneMAM } from '@capgo/capacitor-intune';

await IntuneMAM.loginAndEnrollAccount();

enrolledAccount()

返回当前已注册的 Intune 账户(如果存在)。

import { IntuneMAM } from '@capgo/capacitor-intune';

const result = await IntuneMAM.enrolledAccount();
console.log(result);

deRegisterAndUnenrollAccount()

从 Intune 取消注册账户,并在适用时触发选择性擦除。

import { IntuneMAM } from '@capgo/capacitor-intune';

await IntuneMAM.deRegisterAndUnenrollAccount({ accountId: 'account-id-123' });

上表列出了 12 个核心方法。监听器、版本辅助方法以及每个方法的完整接口约定,详见 GitHub 仓库.

监听事件

addListener 会返回一个句柄。调用 handle.remove() 在屏幕卸载时,或者调用 IntuneMAM.removeAllListeners() 以清除所有监听器。

完整参考文档

继续阅读:使用 @capgo/capacitor-intune

如果你正在使用 使用 @capgo/capacitor-intune 用来规划身份验证和账户流程,并将它与 @capgo/capacitor-intune 关于 @capgo/capacitor-intune 的实现细节, 快速入门 有关“入门指南”中的实现细节, @capgo/capacitor-social-login 在 @capgo/capacitor-social-login 中查看实现细节, @capgo/capacitor-passkey 关于 @capgo/capacitor-passkey 的实现细节,以及 @capgo/capacitor-native-biometric 有关 @capgo/capacitor-native-biometric. 的实现细节

常见问题

Persona 插件常见问题

如何在 Capacitor 应用中安装 Persona 插件?

运行 "bun add @capgo/capacitor-persona"(或 "npm install @capgo/capacitor-persona"),然后运行 "bunx cap sync",使 iOS 和 Android 项目同步 native code。最后在你的应用 code 中从 "@capgo/capacitor-persona" 导入即可。

@capgo/capacitor-persona 是否支持 React、Vue 和 Angular?

支持。Persona 是一个 Capacitor 包,因此它可以与任何在 Capacitor 中运行的 Web 框架配合使用,包括 Ionic、React、Vue、Angular、Svelte 以及原生 JavaScript。

@capgo/capacitor-persona 支持哪个版本的 Capacitor?

Capgo 插件遵循 Capacitor 的主版本号:请使用与 Capacitor 主版本号一致的插件主版本(例如插件 v8 对应 Capacitor 8)。GitHub README 中的兼容性表列出了仍在维护的版本。

@capgo/capacitor-persona 是免费开源的吗?

是的。code 源码已在 GitHub 公开,地址为 https://github.com/Cap-go/capacitor-persona/,你可以直接从 npm 免费安装。欢迎提交 Bug 报告和 Pull Request。

我可以在不经过 App Store 审核的情况下,更新使用了 Persona 的 code 吗?

安装或升级插件会改动原生 code,因此需要重新做一次商店构建。之后,调用该插件的 JavaScript、HTML 和 CSS 改动就能通过 Capgo live updates 立即发布。

无需等待应用审核,即可发布 Persona 变更

只要插件已包含在你的商店版本中,Capgo live updates 就能在几分钟内把 JavaScript、HTML 和 CSS 的改动推送给用户。

开始使用 Capgo