You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让JOSE在Expo应用中正常运行?解决iOS端找不到crypto变量问题

解决Expo iOS端JOSE库找不到crypto变量的问题
  • 问题根源:Expo iOS环境默认未将Web Crypto API暴露为全局crypto变量,而JOSE库依赖该全局变量运行。

  • 方案一:通过expo-crypto补全全局crypto

    1. 安装依赖:
      npx expo install expo-crypto
      
    2. 在项目入口文件(如App.js)中,在导入JOSE库之前添加以下代码,将expo-crypto的API挂载到全局:
      import * as Crypto from 'expo-crypto';
      
      global.crypto = {
        ...Crypto,
        getRandomValues: Crypto.getRandomValues,
        subtle: Crypto.subtle,
      };
      
  • 方案二:使用适配Expo的JOSE库
    直接替换为适配React Native/Expo环境的JOSE实现(如jose-react-native),这类库已内置对环境的兼容处理,无需手动配置全局变量。

内容的提问来源于stack exchange,提问作者Archimedes Trajano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 14:45:39