使用Ionic(cordova)Facebook插件时如何从AWS Cognito获取accessToken?

时间:2019-05-20 04:33:25

标签: facebook authentication ionic-framework amazon-cognito

我需要用Cognito accessToken交换facebook的accessToken。我正在获取会话令牌,但不知道如何获取访问令牌。

我需要使用Ionic的本机Facebook插件登录到AWS Conito用户池。

我已根据需要设置了Cognito用户池和联合身份提供者。我也为此设置了一个身份池。这是我遵循的步骤...

1)我正在使用Ionic的facebook插件登录并从facebook获取访问令牌 2)使用以下代码段将此访问令牌发送到Cognito 3)作为Cognito(amazon-cognito-identity-js)的响应,我正在获取会话令牌。我需要访问令牌。

->用Facebook登录 从“ @ ionic-native / facebook”导入{Facebook,FacebooginResponse};

this.fb
  .login(["public_profile", "email"])
  .then((res: FacebookLoginResponse) => {
    console.log("Logged into Facebook!", res);
  }

->我正在从Facebook获取访问令牌 ->现在将其传递给Cognito

AWS.config.region = "ap-south-1"; // Region
let params = {
  IdentityPoolId: "ap-south-1:<xxxxxxxx>",
  Logins: {
    "graph.facebook.com": authResult.accessToken
  }
};
AWS.config.credentials = new AWS.CognitoIdentityCredentials(params);

(<AWS.CognitoIdentityCredentials> AWS.config.credentials).get((err) => {
  if (err) console.log(err.stack);
  else 
    console.log("AWS Credentials:", AWS.config.credentials);

->在这里,我正在获取会话令牌。我需要访问令牌。

我需要的是Cognito Access令牌,以进一步使用我们的API。请帮忙。

0 个答案:

没有答案