Unity 的限制登入

在 iOS SDK 第 9.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 函數要求 Profile 物件,以讀取關聯的 AuthenticationToken

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;
     }
}

請注意,限制登入和「個人資料」類別目前僅適用於 iOS SDK,尚無法用於其他平台。

參考資料

核心

名稱 說明

LoginTracking

列舉值指出登入要求是否應啟用追蹤。可用的值有 ENABLEDLIMITED

AuthenticationToken

協助工具類別,包含目前用戶授予您應用程式的驗證權杖字串。此權杖包括用戶的編號、大頭貼照和電子郵件地址(如果由用戶授予)等資料。

Profile

協助工具類別,用於從用戶目前的 AuthenticationToken 擷取基本個人檔案資訊。

方法

名稱 說明

FB.Mobile.LoginWithTrackingPreference

提示用戶根據他們選擇的追蹤偏好設定,使用要求的權限授權您的應用程式。

FB.Mobile.CurrentAuthenticationToken

傳回目前用戶授予您應用程式的驗證權杖。

FB.Mobile.CurrentProfile

傳回目前用戶授予您應用程式的基本個人檔案資訊。

FB.Mobile.LoginWithTrackingPreference

參數

  1. LoginTracking:從 ENABLEDLIMITED 中選擇的列舉
  2. Scopes:此要求的 Permissions
  3. Nonce:用於驗證回應的選擇性字串
  4. 結果處理常式(IResult):將處理登入回應的回呼函數

結果:處理用戶的登入要求並處理用戶的連線階段

FB.Mobile.CurrentAuthenticationToken

參數:無

結果:傳回「驗證權杖」,其中包含用戶的基本個人檔案資訊,包括用戶編號、用戶名稱、用戶大頭貼照和用戶電子郵件地址(如果用戶授予權限)。

FB.Mobile.CurrentProfile

參數:無

結果:傳回個人檔案物件,其中包含用戶的基本個人檔案資訊。將自動從用戶的驗證權杖擷取。

驗證 OIDC 權杖

使用 OIDC 權杖伺服器端之前,請根據 Facebook 的公開金鑰來驗證權杖,並確認 nonce 與您提供的 nonce 相符。