Unity 版受限登录

随着 iOS SDK v9.0 的推出,我们已对 Unity SDK 完成更新,使得 iOS 开发者可以为其用户提供受限登录。总之,此次更新添加了一个用于验证登录用户身份的身份验证口令,以及使用传统“Facebook 登录”产品时可用的其他图谱 API 功能。

权限

受限登录提供了一组有限的权限,可供您请求的:

  • public_profile
  • email
  • gaming_profile
  • gaming_user_picture
  • user_age_range
  • user_birthday
  • user_friends
  • user_gender
  • user_hometown
  • user_link
  • user_location
  • user_messenger_contact

实现受限登录

如要使用 Unity SDK 进行受限登录,请使用 LoginWithTrackingPreference 函数将给定登录请求的 LoginTracking 首选项指定为 LIMITED。此外,开发者可以添加一个 nonce 选项,用于验证来自 Unity SDK 的响应。如需进一步了解有关验证 OIDC 口令的详情,请参阅验证受限登录 OIDC 口令

FB.Mobile.LoginWithTrackingPreference(LoginTracking.LIMITED, scopes, "nonce123", this.HandleResult);

检索个人主页数据

在完成受限登录或传统 Facebook 登录的登录流程后,开发者现在可以从 Unity SDK 中检索 AuthenticationToken。如要检索用户的基本个人主页信息,开发者可以使用 CurrentProfile 函数读取关联的 AuthenticationToken,进而请求 Profile 对象。

private void GetProfileInfo()
{
     var profile = FB.Mobile.CurrentProfile();
     if(profile != null) {
          this.userName = profile.Name;
          this.userId = profile.UserID
          this.userEmail = profile.Email;
          this.profileImageUrl = profile.ImageURL;
          this.userBirthday = profile.Birthday;
          this.userAgeRange = profile.AgeRange;
          this.userFriendIDs = profile.FriendIDs;
          this.userGender = profile.Gender;
          this.userLink = profile.LinkURL;
          this.userHometown = profile.Hometown;
          this.userLocation = profile.Location;
     }
}

请注意,受限登录和“Profile”类别当前仅可用于 iOS SDK,暂不适用于其他平台。

参考资料

核心

名称 描述

LoginTracking

此枚举值指示登录请求是否应启用追踪。可用的值为 ENABLEDLIMITED

AuthenticationToken

此帮手类包含当前用户授予您应用程序的身份验证口令字符串。该口令包含用户编号、名称、头像和邮箱的数据(需要事先得到用户授权)。

Profile

此帮手类用于从当前用户的 AuthenticationToken 中检索基本的个人主页信息。

方法

名称 描述

FB.Mobile.LoginWithTrackingPreference

提示用户根据所选的追踪首选项,使用请求的权限向您的应用授权。

FB.Mobile.CurrentAuthenticationToken

返回当前用户授予您应用程序的 AuthenticationToken。

FB.Mobile.CurrentProfile

返回当前用户授予您应用程序的基本个人主页信息。

FB.Mobile.LoginWithTrackingPreference

参数

  1. LoginTracking - 此枚举在 ENABLEDLIMITED 之间选择
  2. Scopes - 此请求的 Permissions
  3. Nonce - 此可选字符串用于验证响应
  4. 结果处理程序 (IResult) - 此回调函数用于处理登录响应

结果:处理用户登录请求和用户会话

FB.Mobile.CurrentAuthenticationToken

参数:无

结果:返回包含用户基本个人主页信息的“AuthenticationToken”,这些信息包括用户编号、用户名、用户头像和用户邮箱(需事先得到用户授权)。

FB.Mobile.CurrentProfile

参数:无

结果:返回包含用户基本个人主页信息的 Profile 对象。此对象由系统在用户的身份验证口令中自动检索而来。

验证 OIDC 口令

在使用 OIDC 口令服务器端之前,您需要使用 Facebook 公钥验证此口令,确保 nonce 与您提供的 nonce 一致。