Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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 从网页在amazon cognito中注册Facebook访问令牌_Javascript_Facebook_Facebook Graph Api_Amazon Web Services - Fatal编程技术网

Javascript 从网页在amazon cognito中注册Facebook访问令牌

Javascript 从网页在amazon cognito中注册Facebook访问令牌,javascript,facebook,facebook-graph-api,amazon-web-services,Javascript,Facebook,Facebook Graph Api,Amazon Web Services,我遵循pragprog的教程,该示例使用google+在amazoncognito中存储令牌。登录google并在cognito works中注册 但在cognito中注册Facebook应用程序提供的访问令牌并不像预期的那样有效。我已经在FB注册了一个web应用程序,正在使用提供的应用程序id。登录FB是可以的,我获得了访问令牌 html: 我已在中的身份验证提供商中注册了FB应用程序id。控制台的输出显示我的姓名、邮件和令牌。我使用一个自签名证书运行它,以便wireshark显示加密通信。如

我遵循pragprog的教程,该示例使用google+在amazoncognito中存储令牌。登录google并在cognito works中注册

但在cognito中注册Facebook应用程序提供的访问令牌并不像预期的那样有效。我已经在FB注册了一个web应用程序,正在使用提供的应用程序id。登录FB是可以的,我获得了访问令牌

html:


我已在中的身份验证提供商中注册了FB应用程序id。控制台的输出显示我的姓名、邮件和令牌。我使用一个自签名证书运行它,以便wireshark显示加密通信。如果http和https混合使用,则登录FB将失败。

我必须创建一个CognitoSyncManager(),如中所述。这将在身份池中创建一个身份,可使用FB提供的令牌访问该身份池。在我的例子中,我有eu-west-1地区(爱尔兰)

<div class="fb-login-button" ... onlogin="checkFacebookStatus()"></div>
<script>
    $(document).ready(function() {
        $.ajaxSetup({ cache: true });
        $.getScript('//connect.facebook.net/nn_NO/sdk.js', function() {
            FB.init({
                appId      : 'my app id',
                xfbml      : true,
                version    : 'v2.6'
            });
            $('#fb-login-button').removeAttr('disabled');
            checkFacebookStatus();
        });
    });
</script>
function checkFacebookStatus() {
    FB.getLoginStatus(function(response) {
        if (response.status === 'connected') {
            var accessToken = response.authResponse.accessToken;
            facebookSignIn(accessToken);
        }
    });
}

function facebookSignIn(accessToken) {
    AWS.config.update({
        region: 'eu-west-1',
        credentials: new AWS.CognitoIdentityCredentials({
            IdentityPoolId: learnjs.poolId,
            Logins: {
                'graph.facebook.com': accessToken
            }
        })
    })
}
AWS.config.credentials.get(function() {
    client = new AWS.CognitoSyncManager();
});