概述
概述@capgo/capacitor-social-login Capgo是一款集成所有社交登录功能的插件,适用于Web、iOS和Android。
它实现了:
- Google Android 認證管理器登入
- 使用Apple登录,包括Android上的OAuth
- Facebook登录,使用当前的FacebookSDK
- Twitter/X通过OAuth 2.0
- 通用OAuth2和OIDC提供商,包括GitHub,Microsoft Entra ID,Auth0,Okta,Keycloak和其他符合标准的服务器
它也是从Ionic Appflow Social Login或Ionic Auth Connect移动到Capgo的迁移路径
分叉和迁移说明
标题:分叉和迁移说明此插件最初是从 @codetrix-studio/capacitor-google-auth。原始包被视为已存档,因此Capgo维护此插件作为支持的替代品
如果您仍在使用 @codetrix-studio/capacitor-google-auth,请遵循 遗留Google Auth迁移指南.
如果您正在从Ionic Auth Connect迁移,使用内置 SocialLoginAuthConnect wrapper for the auth0, azure, cognito, okta, 和 onelogin 提供者名称:
兼容性
兼容性| 插件版本 | Capacitor兼容性 | 维护 |
|---|---|---|
| v8.x | v8.x | 是 |
| v7.x | v7.x | 按需 |
| v6.x | v6.x | 否 |
| v5.x | v5.x | 否 |
此插件的主要版本遵循 Capacitor 的主要版本。例如,使用插件 v8 与 Capacitor 8。仅最新的主要版本得到积极维护。
观看该插件设置和登录流程的快速演示。
initialize- 初始化插件。login- 使用所选提供商登录。logout- 退出。isLoggedIn- 是否已登录。
公共 API
Section titled “公共 API”| 方法 | 功能描述 |
|---|---|
initialize | 初始化插件 |
login | 使用选定的提供商登录 |
logout | 注销 |
isLoggedIn | 是否已登录 |
getAuthorizationCode | 获取当前授权 code |
refresh | 刷新访问令牌 |
refreshToken | OAuth2 刷新令牌助手 |
handleRedirectCallback | 仅限 Web:处理 OAuth 重定向回调并返回解析结果 |
decodeIdToken | 解码 JWT (通常为 OIDC ID 令牌) 以获取其声明 |
getAccessTokenExpirationDate | 将访问令牌过期时间戳 (以毫秒为单位的 epoch) 转换为 ISO 日期字符串 |
isAccessTokenAvailable | 检查是否有可用的访问令牌 (非空) |
isAccessTokenExpired | 检查一个访问令牌是否过期。 |
isRefreshTokenAvailable | 检查一个刷新令牌是否可用(非空)。 |
providerSpecificCall | 执行提供商特定的调用。 |
getPluginVersion | 获取本地Capacitor插件版本。 |
openSecureWindow | 打开一个安全的窗口进行OAuth2认证。对于web,应该在重定向页面中包含code,以使用广播通道将重定向的URL发送到应用程序。例如: html <html> <head></head> <body> <script> const searchParams = new URLSearchParams(location.search) if (searchParams.has("code")) { new BroadcastChannel("my-channel-name").postMessage(location.href); window.close(); } </script> </body> </html> 对于移动设备,应该有一个重定向URI,打开应用程序,例如: myapp://oauth_callback/ 并确保在应用程序的info.plist中注册它: xml <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>myapp</string> </array> </dict> </array> 并在AndroidManifest.xml文件中注册它: xml <activity> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:host="oauth_callback" android:scheme="myapp" /> </intent-filter> </activity> . |
真实来源
标题:真实来源这个参考是同步自 src/definitions.ts 在 capacitor-社交登录.
从 @capgo/capacitor-社交登录 中继续
标题:从 @capgo/capacitor-社交登录 中继续如果您正在使用 @capgo/capacitor-社交登录 与其连接以规划身份验证和帐户流程 使用 @capgo/capacitor-社交登录 为在使用 @capgo/capacitor-社交登录 中的原生能力 @capgo/capacitor-密码钥匙 为在 @capgo/capacitor-密码钥匙 中的实现细节 @capgo/capacitor-原生生物识别 为在 @capgo/capacitor-原生生物识别 中的实现细节 双因素认证 双因素认证的实现细节 SSO(企业) SSO(企业)的实现细节