Unity 受限登入

隨著 iOS SDK 推出 v9.0,Unity SDK 已經更新,使 iOS 開發人員能夠為其用戶提供受限登入。總括而言,這次更新加入了在用戶登入時用於驗證其身分的驗證憑證,以及可透過傳統 Facebook 登入產品使用的其他 Graph 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;
     }
}

但請注意,受限登入和「個人檔案」類目前僅適用於 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 相符。