javascript - 我们可以重用从 firebase 检索到的访问令牌,并且我们可以只从这些令牌中获取用户数据吗?
问题描述
所以,我有一个电子应用程序,而电子应用程序默认不支持 firebase/google 身份验证。所以我的问题是我有 1 个使用 firebase auth 的网络应用程序。通过使用firebase auth,我使用谷歌登录。现在的问题是我有一个电子应用程序,我希望我的用户在其中登录,但由于我们不能在电子应用程序中使用 firebase auth,我希望我的用户应该登录网络应用程序,并从进入电子应用程序。那么,它会起作用吗?我得到这样的令牌:
const credential =
GoogleAuthProvider.credentialFromResult(result);
const token = credential.accessToken;
如果此访问令牌可用于任何应用程序,那么我如何通过任何应用程序获取用户的电子邮件 ID、姓名等?任何示例/指导将不胜感激。我的代码片段如下:
signIn = () => {
signInWithPopup(this.auth, this.provider)
.then((result) => {
// This gives you a Google Access Token. You can use it to access the Google API.
//如何仅通过访问令牌访问google API?
const credential = GoogleAuthProvider.credentialFromResult(result); 常量令牌 = credential.accessToken; // 登录的用户信息。常量用户=结果.用户;// ... console.log(token); 控制台.log(用户);警报(
Dear ${user.displayName}, you are signed in successfully
,);}) .catch((error) => { // 在这里处理错误。 const errorCode = error.code; const errorMessage = error.message; // 使用的用户帐户的电子邮件。 const email = error.email; //使用的 AuthCredential 类型 const credential = GoogleAuthProvider.credentialFromError(error); // ... alert( Error while signing in: ${error}
); }); };
解决方案
推荐阅读
- javascript - 单击切换按钮时,折叠菜单未关闭
- spark-cassandra-connector - java.lang.ClassCastException:com.datastax.driver.core.DefaultResultSetFuture 无法转换为 shade.com.datastax
- r - 使用来自某些变量的多个参数压缩数据框
- elasticsearch - 如何使用 C# NEST HighLevel 在 elasticsearch 中过滤多个文件和值?
- c# - 本地时间特定单元测试失败
- c++ - 推导返回类型
- asp.net-mvc - AccessToken 不得长于 4K
- docker - 如何启动多个 celery 进程/队列并在容器关闭时优雅地关闭它们?
- java - 从 http 链接映射 http 参数
- swift - 通过从另一个结构排序来快速排序结构