使用GitKit

时间:2015-06-23 18:36:44

标签: facebook facebook-graph-api google-plus google-identity-toolkit

当使用相同的应用程序对Google Identity Toolkit进行身份验证时,获取好友列表(服务器端)的目的是什么?

使用Facebook图形API,可以获得朋友列表:https://graph.facebook.com/v2.3/me/friends

  • 需要访问令牌
  • 需要权限user_friends

我能以某种方式从GitKit获取访问令牌吗?

  • 或者客户端需要第二次登录Facebook-Graph-Api

使用GitKit登录时不会询问user_friends权限

  • 有没有办法扩展登录权限?

当我尝试使用相同的应用程序让谷歌+朋友时,可能会发生类似的问题。

社交登录,不使用任何社交"功能"对我来说真的没有意义,我希望有一种方法可以通过Gitkit实现这一目标。

2 个答案:

答案 0 :(得分:1)

对于Javascipt解决方案,我现在已经编辑了gitkit.js以支持OAuth范围,例如Gitkit v2:https://github.com/Hollerweger/Gitkit-Javascipt-Enhancements

示例配置:

idpConfig: {
    facebook: {
        scopes: [
            "public_profile",
            "user_friends",
            "email"
        ]
    },
    google: {
        scopes: [
        "https://www.googleapis.com/auth/userinfo.email+https://www.googleapis.com/auth/plus.login"
        ]
    }
}

不需要Google+范围,因为它是默认范围。仅使用google +和facebook登录进行测试。

idpConfig子项的名称必须位于IDP身份验证网址的前45个字符中才能生效。

答案 1 :(得分:0)

要在Android上为Identity Toolkit登录添加额外权限,请将identitytoolkit.extra_scopes元数据添加到清单。它看起来像是:

<meta-data
    android:name="identitytoolkit.extra_scopes"
    android:value="Google: g_scope1; Facebook: f_scope1 f_scope2; Yahoo: y_scope1"/>

登录完成后,Facebook SDK将使用正确的令牌进行初始化,因此您可以通过AccessToken.getCurrentAccessToken()检索访问令牌。由于Facebook令牌为portable,因此您可以将从应用程序检索到的令牌发送到后端,并将其与图API一起使用。