使用 passport-google-oauth 和 react-native

Using passport-google-oauth with react-native

我正在尝试在我的 react-native 应用程序中使用 passport-google-oauth。当我 运行 应用程序时,它会抛出错误: requiring unknown module util 。我已经使用 npm install .. 安装了这个包,我也尝试过 npm install ... --save

App/Components/Login.js

'use strict';

var React = require('react-native');
var GoogleStrategy = require('passport-google-oauth').OAuthStrategy;
...

package.json

{
  "name": "NativeApp",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node_modules/react-native/packager/packager.sh"
  },
  "dependencies": {
    "passport": ">= 0.0.0",
    "passport-google-oauth": "^0.2.0",
    "react-native": "^0.4.4"
  },
  "devDependencies": {}
}

index.ios.js

'use strict';

var React = require('react-native');
var Login = require('./App/Components/login');
var {
  AppRegistry,
  StyleSheet,
  Text,
  View,
  NavigatorIOS,
} = React;

class AppStoreIOS extends React.Component{
  render() {
    return (
      <NavigatorIOS
        titleTextColor = '#0073A0'
        // barTintColor = '#183E63'
        initialRoute={{
          component: Login,
          title: 'AppStore v2.0',
          passProps: { myProp: 'foo' },
        }}
      />
    );
  }
};

不要认为这对你有用。 Passport 预计在 node.js(基于 express)环境中是 运行,并且至少需要一些工作才能将其移植到使用 Webview 进行 Oauth 流程,实际上这将是很多工作。

查看 https://medium.com/@jtremback/oauth-2-with-react-native-c3c7c64cbb6d 以了解如何在 react-native 中支持 oauth 的示例。我没试过这个,但看起来很简单。