如何获取 React Native GoogleSignIn 的 accessToken?

我无法获得 accessToken,我需要在我的后端 api 中使用它。


当我尝试这个时,


googleLogin = () => {


  GoogleSignin.signIn()

    .then((data) => {

      console.log("TEST "+JSON.stringify(data));

      var postData = {

        access_token: data.accessToken,

        code: data.idToken,

      };


      let axiosConfig = {

        headers: {

            'Content-Type': 'application/json',

            "Accept": "application/json",

        }

      };

     ....

      //Backend api axios call

     ....


    })

    .then((user) => {

      console.log("TEST G LOGIN 1 "+JSON.stringify(user))

    })

    .catch((error) => {

      console.log("....."+JSON.stringify(error))

    });

}

得到这个回应,它不包括


accessToken


{

    "scopes": ["https://www.googleapis.com/auth/userinfo.profile", "https://www.googleapis.com/auth/userinfo.email", "https://www.googleapis.com/auth/drive.readonly"],

    "serverAuthCode": "4/jwE5LLLLLLa7-f33333jmMD2V978oyp44444eb9yGe_qhHnkXXXXXXXLFXKZlQdDzlH-iIJx_gzqlLLLLLL3Q0PP0",

    "idToken": "...v65a4MCC-ZUQmys_wf_DoCOBJEMuI........",

    "user": {

        "photo": "https://lh3.googleusercontent.com/-tLLLLLyeS0KE/AAAMMMMAAAI/AAAAAAAAAAA/ACHi3reMhihoeTe_6NjL666666EUVU82Q/s96-c/photo.jpg",

        "email": "test@gmail.com",

        "familyName": "tech",

        "givenName": "test",

        "name": "testtech",

        "id": "11688888817288868"

    }

}

根据文档


getTokens() 使用包含 { idToken: string, accessToken: string, } 的对象解析,或以错误拒绝。请注意,不鼓励使用 accessToken。


所以,我试过这个


GoogleSignin.Sign({

....

 var gettoken =  GoogleSignin.currentUserAsync(data.user).then((token) => {

      console.log('USER token', token);

    }).done();

...

 })

它出错了,也试过了const token = GoogSignIn.getTokens(),它返回null。


函数式编程
浏览 136回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript