通过 facebook ios SDK 结合 Azure 移动服务获取名字和姓氏

问题描述 投票:0回答:2

我正在创建一个简单的 iOS 应用程序,使用 Azure 移动服务作为后端并使用 Facebook 进行身份验证。我按照指南设置了所有内容并通过 Facebook 登录。然而,以这种方式登录时唯一返回的是一个具有两个属性的对象,如下所示

MSUser* user = {userId = @"Facebook:1234abcd",
mobileServiceAuthenticationToken = @"1234abdc567efg"}

我目前正试图检索用户的名字和姓氏,因为我拥有的令牌不是 Facebook 登录令牌,而是用于通过我的 Azure 后端进行身份验证的令牌。有没有办法在客户端获取用户名而不必打开另一个 Facebook 登录窗口? (可能使用图形 API)我找到了一种在自定义 API 中获取服务器端信息的方法,但是我更愿意在将用户信息保存到服务器之前先在客户端弄清楚这一切。 (参见此处

编辑:我找不到在 iOS 中使用的等效 user.getIdentities,它提供了与 Graph API 一起使用的 Facebook 身份验证令牌。

ios facebook facebook-graph-api azure azure-mobile-services
2个回答
2
投票

如您所见,客户端 SDK 的用户对象仅包含移动令牌。您需要一个单独的服务器 API 来公开客户信息 - 服务器 SDK 可以访问更多信息。您可以将其作为 API 来执行此操作,当用户第一次登录时,您将其信息保存到表中,或者您可以创建一个每次查询 Facebook 的 API。

Carlos 发表了一篇很棒的博客文章,内容是“获取 Azure 移动服务上的用户信息”。


2
投票

这允许您在客户端使用 FB 的 SDK 通过他们的工具登录,根据需要获取用户名等,然后通过发送 FB 令牌来登录您的移动服务。

[client loginWithProvider:@"microsoftaccount" token:@{@"access_token" : <fb token> } completion:^(MSUser *user, NSError *error) { }];

© www.soinside.com 2019 - 2024. All rights reserved.