Unity용 제한적 로그인

iOS SDK v9.0부터 Unity SDK는 iOS 개발자가 사용자에게 제한적 로그인을 제공할 수 있도록 업데이트되었습니다. 요컨대 이 업데이트는 로그인 시 사용자의 ID를 확인하기 위한 인증 토큰과 기존 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을 가져올 수 있습니다. 사용자의 기본 프로필 정보를 가져오려면 관련 AuthenticationToken을 읽는 CurrentProfile 함수를 사용하여 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

로그인 요청에 추적이 활성화되어 있어야 하는지 여부를 나타내는 enum 값입니다. 사용할 수 있는 값은 ENABLEDLIMITED입니다.

AuthenticationToken

현재 사용자가 앱에 부여한 인증 토큰 문자열이 포함된 도우미 클래스입니다. 이 토큰에는 사용자 ID, 이름, 프로필 사진, 이메일(사용자가 부여한 경우)에 대한 데이터가 포함됩니다.

Profile

현재 사용자의 AuthenticationToken에서 기본 프로필 정보를 가져오는 데 사용하는 도우미 클래스입니다.

메서드

이름 설명

FB.Mobile.LoginWithTrackingPreference

사용자가 선택한 추적 기본 설정을 기반으로 요청된 권한을 앱에 승인하라는 메시지를 표시합니다.

FB.Mobile.CurrentAuthenticationToken

현재 사용자가 앱에 부여한 인증 토큰을 반환합니다.

FB.Mobile.CurrentProfile

현재 사용자가 앱에 부여한 기본 프로필 정보를 반환합니다.

FB.Mobile.LoginWithTrackingPreference

매개변수:

  1. LoginTracking - ENABLEDLIMITED 중 하나를 선택하는 enum
  2. Scopes - 이 요청에 대한 Permissions
  3. Nonce - 응답을 확인하는 데 사용하는 선택적 문자열
  4. 결과 핸들러(IResult) - 로그인 응답을 처리할 콜백 함수

결과: 사용자 로그인 요청과 사용자 세션 처리

FB.Mobile.CurrentAuthenticationToken

매개변수: 없음

결과: 사용자 ID, 사용자 이름, 사용자 프로필 사진, 사용자 이메일(사용자가 권한을 부여한 경우)을 포함한 사용자 기본 프로필 정보가 있는 'AuthenticationToken'을 반환합니다.

FB.Mobile.CurrentProfile

매개변수: 없음

결과: 사용자 기본 프로필 정보를 포함한 프로필 개체를 반환합니다. 사용자의 인증 토큰에서 자동으로 가져옵니다.

OIDC 토큰 검증

서버 측 OIDC 토큰을 사용하기 전에 Facebook 공개 키에 대해 토큰을 검증하고 nonce가 입력한 nonce와 일치하는지 확인하세요.