小编Eli*_*nen的帖子

Firebase/Google 登录身份验证:在 Gmail 企业帐户上未检索到个人资料照片

我正在使用 Firebase / Google 登录身份验证来登录我的应用程序中的用户。身份验证与 Gmail 帐户完美配合 - 但是,对于我的客户的帐户(拥有企业 Gmail 帐户 (..@company.com)),身份验证有效,但用户个人资料图片未共享(用户对象返回为默认图片,如下所示: https://lh3.googleusercontent.com/-9Me77eEe8m0/AAAAAAAAAAI/AAAAAAAAAAA/0uO0KAv-PMQ/photo.jpg )。

有关信息,我使用非常标准的signInWithPopup方法:

var provider = new firebase.auth.GoogleAuthProvider();
firebase.auth().signInWithPopup(provider)      
  .then((credential) =>  {
    var authState = credential.user
    updateUserData()  // Updating user's data })
  .catch(error => console.log(error))
Run Code Online (Sandbox Code Playgroud)

因此,我尝试通过使用基于 id 的 url 直接在网上查找个人资料照片(而不是从身份验证中获取个人资料照片)来解决此问题,例如:

http://picasaweb.google.com/data/entry/api/user/?alt=json

但 json 还返回企业帐户的电子邮件地址的默认照片,因此这让我假设该企业帐户必须有一些特定的隐私设置,以防止照片被共享。

有没有人已经遇到过这个问题,或者有任何想法:

  • 要更改 Gmail 企业帐户的设置以启用个人资料照片共享?
  • 如果可以制作同意屏幕,以获得用户的同意与应用程序共享其基本个人资料信息(我知道当应用程序仅需要基本个人资料信息 - 姓名、电子邮件时,谷歌最近删除了同意屏幕, 照片, ..-) ?
  • 一种更“hacky”的方式从网上获取照片?
  • 还有其他建议吗?

javascript google-authentication firebase firebase-authentication google-signin

5
推荐指数
1
解决办法
4287
查看次数