Google / Firebase身份验证无iOS的displayName或photoURL [英] Google/Firebase Authentication no displayName or photoURL for iOS

查看:222
本文介绍了Google / Firebase身份验证无iOS的displayName或photoURL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Ionic2和



config.xml

 <?xml version ='1.0' 'UTF-8' >?; 
< widget id =com.ionicframework.XXXXXXXversion =0.0.1xmlns =http://www.w3.org/ns/widgetsxmlns:cdv =http:// cordova .apache.org / NS / 1.0\" >
<名称> TheWhoZoo< / name>

它还有 REVERSED_CLIENT_ID 上面的iOS URL方案

 < plugin name =cordova- plugin-googleplusspec =〜5.1.1> 
< variable name =REVERSED_CLIENT_IDvalue =com.googleusercontent.apps.XXXXXX/>
< / plugin>

我还创建了一个 Firebase App 我的项目也有匹配的 Bundle ID (不知道这是否有任何作用):



另外,我不确定这是否有所作为,但我添加了 CLIENT_ID 对于 iOS 转换为Google Firebase身份验证:



问题

是否有任何步骤丢失或做了错误的设置为 iOS

解决方案

添加提取配置文件数据所需的作用域:

  window.plugins.googleplus.login({$ b $'scopes':'https://www.googleapis.com/auth/plus.me',
// continue以下...

查看官方 documentation 和插件 documentation
$ b

范围描述为这里


I am using Ionic2 and GooglePlus Authentication.

I can sign in and it creates a User with a uid in the Firebase Authentication list as expected.

When I do this:

        GooglePlus.login({
            'webClientId': webClientId,
            'offline': true
        }).then(googleData => {

Where the webClientId matches the Client ID in the iOS Credential below.

Problem:

However, for iOS, the googleData does contain an emailAddress and uid, but the displayName and photoURL are null.

More Info:

I do have an iOS Credential set up with the Bundle ID matching the widget id in the config.xml:

config.xml

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.ionicframework.XXXXXXX" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>theWhoZoo</name>

And it also has the REVERSED_CLIENT_ID matching the iOS URL scheme above.

<plugin name="cordova-plugin-googleplus" spec="~5.1.1">
    <variable name="REVERSED_CLIENT_ID" value="com.googleusercontent.apps.XXXXXX" />
</plugin>

I have also created a Firebase App for my Project that also has the matching Bundle ID (not sure if this has any effect):

Also, I am not sure if this makes any difference, but I add the the CLIENT_ID for iOS to the Google Firebase Authentication here:

Question

Are there any steps I am missing or doing something wrong to set this up for iOS?

解决方案

This should add the required scope for fetching profile data:

window.plugins.googleplus.login({
  'scopes': 'https://www.googleapis.com/auth/plus.me',
  // continue below...

See the official documentation and the plugin documentation for details.

The scope is described here.

这篇关于Google / Firebase身份验证无iOS的displayName或photoURL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆