Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在react-native中生成JWT_Javascript_Ios_Cryptography_React Native_Jwt - Fatal编程技术网

Javascript 在react-native中生成JWT

Javascript 在react-native中生成JWT,javascript,ios,cryptography,react-native,jwt,Javascript,Ios,Cryptography,React Native,Jwt,我试图在React Native中生成JWT。react native jwt模块基于节点的jwt simple。它使用react native crypto,这是crypto-browserify的一个部分克隆,具有某些解决方法,以使crypto在web浏览器之外工作 问题是randombytes(react native jwt的子依赖项)找不到crypto browser.js: 'use strict' function oldBrowser () { throw new Erro

我试图在React Native中生成JWT。
react native jwt
模块基于节点的
jwt simple
。它使用
react native crypto
,这是
crypto-browserify
的一个部分克隆,具有某些解决方法,以使
crypto
在web浏览器之外工作

问题是
randombytes
(react native jwt的子依赖项)找不到
crypto

browser.js

'use strict'

function oldBrowser () {
  throw new Error('secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11')
}

var crypto = global.crypto || global.msCrypto // GETS SET TO 'UNDEFINED'

if (crypto && crypto.getRandomValues) {
  module.exports = randomBytes
} else {
  module.exports = oldBrowser
}

function randomBytes (size, cb) {
  // phantomjs needs to throw
  if (size > 65536) throw new Error('requested too many random bytes')
  // in case browserify  isn't using the Uint8Array version
  var rawBytes = new global.Uint8Array(size)

  // This will not work in older browsers.
  // See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
  if (size > 0) {  // getRandomValues fails on IE if size == 0
    crypto.getRandomValues(rawBytes)
  }
  // phantomjs doesn't like a buffer being passed here
  var bytes = new Buffer(rawBytes.buffer)

  if (typeof cb === 'function') {
    return process.nextTick(function () {
      cb(null, bytes)
    })
  }

  return bytes
}
注意:它似乎只在Android上可用,我需要在iOS上使用它