SuperAPI AI 工具集

integration-privy

安全与审计

查看项目

更新于 10-16 12:32

技能介绍

用途:在已有 useMobileWallet() 的 Solana Expo Android 开发版应用上,用 Sign-In-With-Solana(SIWS)叠加 Privy 认证,获得稳定用户记录与服务器可验证会话。仅需连接地址时不必使用。限制:仅 Android,且必须用开发版(MWA 不支持 iOS,无法在 Expo Go 运行)。

步骤:1)在 dashboard.privy.io 新建 Mobile app,保存 App ID,在 User management > Authentication 的 External wallets 中启用 SVM (Solana) wallets,并按 app.json 的 expo.android.package 设置客户端标识、保存 Client ID。2)npx expo install @privy-io/expo @privy-io/expo-native-extensions,按所选版本满足其 peer 依赖,完成 polyfill、app.json 插件与 Metro 解析等原生配置后执行 npx expo run:android。3)用 EXPO_PUBLIC_PRIVY_APP_ID、EXPO_PUBLIC_PRIVY_CLIENT_ID 环境变量,挂载 QueryClientProvider、PrivyProvider 与 MobileWalletProvider。4)等 usePrivy().isReady 为真后再渲染登录状态。5)钱包连接后,用 useLoginWithSiws 的 generateMessage 生成消息、useMobileWallet 的 signMessages 签名、login 交换会话。注意地址需 base58、签名需整体 base64 编码。6)退出需同时 logout() 与 disconnect()。

职责划分:私钥与签名归钱包,跨设备身份归 Privy 的 user,服务器验证用 getAccessToken(),发送交易仍用钱包。本方案中 Privy 不参与任何签名。更多配置细节、SIWS 深入与故障排查见其 references 文档。