我正在开发一个Android应用程序,它将利用谷歌身份工具包进行身份验证。此外,中间服务器将使用从认证获得的令牌来从用于认证的适当社交网络(例如,Facebook)检索朋友列表。为此,我假设我需要从Google开发者控制台检索的OpenID Web应用程序,对吗?然后,中间服务器将有一个休息api供android应用程序联系并执行登录?
在Facebook上,我应该配置两个不同的应用程序吗?一个用于web,另一个用于android。
亲切的问候
答案 0 :(得分:1)
您只需要在Facebook创建一个应用程序,但该应用程序应包含两个平台(一个是Android,另一个是Web)。有关说明,请参阅https://developers.google.com/identity/toolkit/android/quickstart#optional_step_4_facebook_integration。
在Android应用中,您可以在使用GitkitClientBuilder.addScopes(IdProvider.FACEBOOK,Arrays.asList(" user_friends"))初始化GitkitClient时添加所需的范围。有关API参考,请参阅https://developers.google.com/identity/toolkit/android/reference/com/google/identitytoolkit/GitkitClientBuilder。
用户登录Android应用后,您可以使用Session.getActiveSession()。getAccessToken()获取Facebook访问令牌,并将访问令牌发送到您的服务器。然后,您的服务器可以使用该访问令牌调用Facebook Graph API。