如何通过Firebase身份验证提出Google API请求?

问题描述

我正在尝试在Firebase应用程序中获取Google Api数据。 使用firebase.auth().signInWithPopup登录后,我得到accesstokenidToken

我想做的是登录后,重定向到另一个页面,并使用accesstoken从google photos api获取相册数据。

这是我登录

代码
export const signInWithGoogle = async () => {
  try {
    const response: any = await auth.signInWithPopup(provider);
    const { accesstoken,idToken } = response.credential;
    localStorage.setItem('accesstoken',accesstoken);
    localStorage.setItem('idToken',idToken);
  } catch(e) {
    console.log(e)
  }
}

这就是我在重定向页面要做

const onClick = async (e) => {
  const accesstoken = localStorage.getItem('accesstoken');
  const response = await fetch('https://photoslibrary.googleapis.com/v1/albums',{
    headers: {
      Authorization: `Bearer ${accesstoken}`,},})
  console.log(await response.json());
}

我实际上使用上述代码获得了正确的数据,但是将访问令牌存储到本地存储是一个好主意吗? 如果不安全,如何在重定向页面获取访问令牌?或在客户端请求Google Api的建议/最佳做法是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...