2017-07-29 55 views
0

我试图使用与AWS cognito JavaScript库一起反应本地FBDSK包装库(最近交换反应的原生支持了到JS库)FB登录W /阵营本地+ AWS Cognito

我能使用FB登录并检索令牌,但是当我尝试使用AWS cognito登录时,我在AWS联合身份仪表板中看不到成功的登录。我想知道我在这里做错了什么?

index.js:

import React, { Component } from 'react'; 
import { 
    Animated, 
    Platform, 
    StatusBar, 
    StyleSheet, 
    Text, 
    View, 
    Image, 
    TouchableHighlight, 
} from 'react-native'; 
var AWS = require('aws-sdk/dist/aws-sdk-react-native'); 
const FBSDK = require('react-native-fbsdk'); 
const { 
    LoginButton, 
    AccessToken 
} = FBSDK; 

var Login = React.createClass({ 
    render: function() { 
    return (
     <View> 
     <LoginButton 
      publishPermissions={["publish_actions"]} 
      onLoginFinished={ 
      (error, result) => { 
       if (error) { 
       alert("Login failed with error: " + result.error); 
       } else if (result.isCancelled) { 
       alert("Login was cancelled"); 
       } else { 
       alert("Login was successful with permissions: " + result.grantedPermissions) 
       AccessToken.getCurrentAccessToken().then(
       (data) => { 
       AWS.config.region = 'us-east-1'; 
       AWS.config.credentials = new AWS.CognitoIdentityCredentials({ 
       IdentityPoolId: 'us-east-xxxxxxxxxxxxxxxxxxxxxx', 
       Logins: { 
       'graph.facebook.com': data.accessToken.toString() 
         }  
         }, 
         alert(data.accessToken.toString()) // I am able to see the access token so I know i am getting it succesfully 
         ); 
       } 
      ) 


       } 
      } 
      } 
      onLogoutFinished={() => alert("User logged out")}/> 
     </View> 
    ); 
    } 
}); 

export default class App extends Component { 
    render() { 
    return (
     <View> 
     <Text>Welcome to the Facebook SDK for React Native!</Text> 
     <Login /> 
     </View> 
    ); 
    } 
} 

回答

1

您准备AWS.config.credentials =后,你需要调用AWS.config.credentials.get(()....)

+0

日Thnx奏效!我只是假设如果FB登录成功,AWS会自动获得凭据 – john