使用 GitKit 验证后获取使用相同应用程序的好友列表

Getting list of friends using the same Application after authentication with GitKit

当同一应用程序用于通过 Google Identity Toolkit 进行身份验证时,获取好友列表(服务器端)的预期方法是什么?

通过 Facebook 图 API 可以获取好友列表:https://graph.facebook.com/v2.3/me/friends

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

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

当我尝试让 google+ 个朋友使用相同的应用程序时,可能会出现类似的问题。

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

要向 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 一起使用。

对于 Javascipt 解决方案,我现在编辑 gitkit.js 以支持 Gitkit v2 中的 OAuth 范围: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 个字符中 url 才能工作。