제한적 로그인 FAQ

In response to the upcoming changes to ATT enforcement, we made changes to the iOS SDK and the SDK no longer provides valid user access tokens in scenarios where the user opts out of ATT. The access token validation or Graph API requests may throw errors like OAuthException - “Invalid OAuth access token - Cannot parse access token”. Our recommendation is that users integrate Limited Login following the official documentation:

When users opt out of ATT, all Facebook Login traffic will be performed on the Limited Login domain. Limited Login does not support business permissions. Our recommendation is that developers integrate Limited Login following the official documentation. See limited login supported permissions in this document.

When users opt out of ATT, all Facebook Login traffic will be performed on the limited login domain via the in-app browser. Limited Login does not support fast app switch (that is, redirecting to fb app to login). See limitations section of the Limited Login for iOS document.

We made changes both to the iOS SDK and our core login systems to support the privacy manifest requirements based on the upcoming App Transparency Tracking enforcement so that iOS users who have opted out of ATT are able to use FBLogin. As a result, we do not plan to release the privacy manifest as part of a minor update.

사용자를 인증하고 인증 토큰의 공유된 인스턴스가 작성됩니다. 인증 호출의 추가 정보를 사용하여 공유된 사용자 프로필 인스턴스를 기본 필드로 채웁니다.

액세스 토큰이 없으므로 그래프 요청이 실패합니다. 액세스 토큰을 가져오려면 기존 로그인 방법(기본적으로 추적 활성화)을 다시 사용하거나 추적을 활성화하도록 지정하는 구성으로 FBSDKLoginManagerlogInFromViewController:configuration:completion:을 호출합니다. 이렇게 하면 사용자가 추적된다는 점에 유의하세요.

액세스 토큰이 필요합니다. 기존 로그인 방법(기본적으로 추적 활성화)을 다시 사용하거나 추적을 활성화하도록 지정하는 구성으로 FBSDKLoginManagerlogInFromViewController:configuration:completion:을 호출합니다. 이렇게 하면 그래프 API 호출에 사용할 액세스 토큰을 얻을 수 있습니다. 이렇게 하면 사용자가 추적된다는 점에 유의하세요.

When you use Limited Login to request user_friends from a user, we provide you with a list of app scoped IDs (ASIDs) associated with the friends of the authorizing user, if the friends have also granted your app the user_friends permission. Depending on how you have implemented Limited Login, some of the ASIDs on this list may represent other users that have connected to your app using Limited Login. To ensure that Limited Login safeguards are maintained for such users, do not make Graph API calls using their ASIDs. Instead, continue to rely on Limited Login for these users.

예. 공개 속성이 2개 추가되었습니다.

  • loginTracking은 로그인 시도에 사용하고자 하는 추적 기본 설정을 가져오거나 설정하는 데 사용할 수 있습니다. 기본값은 .enabled입니다.

  • nonce는 로그인 시도에 사용할 선택적 임시 값을 가져오거나 설정하는 데 사용할 수 있습니다. 유효한 임시 값은 공백이 없고 비어 있지 않은 문자열이어야 합니다. 참고: 유효하지 않은 임시 값은 설정되지 않습니다. 대신 로그인 시도에 기본 고유 임시 값이 사용됩니다.

사용자 측의 변경 사항은 없습니다. 기본적으로 기존 AuthenticationToken, AccessTokenProfile을 nil로 설정합니다.

현재 제한적 로그인은 tvOS에 제공되지 않습니다.

아니요. SDK v9.0에서의 사용 중단으로 인해 React Native SDK용 제한적 로그인은 개발하지 않습니다. 자세한 내용은 React Native 문서를 참조하세요.

기존의 로그인된 사용자는 기본적으로 기존 로그인 모드에 매핑된 상태로 유지됩니다. 신규 또는 로그아웃된 사용자만 제한적 로그인 모드로 초기화할 수 있습니다.

아니요. 제한적 로그인 플래그는 특정 기기에 적용됩니다.

아니요. 제한적 로그인 모드에도 fb_login_id가 있습니다. 이 사용자 액세스 토큰(별도의 엔터티)은 제한적 로그인 모드에서 OIDC 토큰으로 전환됩니다.

제한적 로그인 모드는 기본 프로필(이름과 사진) 및 이메일 권한만 지원합니다. 앱에 비즈니스 권한이 필요한 경우 제한적 로그인으로 이를 요청할 수 없습니다. 그러나 사용자는 다음과 같은 방법으로 기존 로그인에서 비즈니스 권한을 부여할 수 있습니다.

  • 웹을 통해 앱에 로그인.
  • 기존 로그인 모드에서 iOS를 통해 앱에 로그인.
  • Android를 통해 앱에 로그인.

Yes, but this will require the use of an app access token to request the token_for_business field on the User node. Limited Login safeguards are not supported in this context. For apps that are associated with your business by means of Business Manager, you can use the app-scoped ID (ASID) included in the OIDC token returned after a successful login to get a unique string for a user. Using your app's app access token, request the token_for_business field on the User node and pass in the user's app-scoped ID. This call returns a string which is the same for this user across all the apps managed by the same Business Manager.

GET /ASID?fields=token_for_business

This returns the values.

{
  "id": "1234567890"
  "token_for_business": "weg23ro87gfewblwjef"
}

Usage notes:

  • The person being queried must have logged into this app.
  • If the owning business changes, the value of token_for_business will also change
  • If you request the token_for_business field and the app is not associated with a Business Manager, the call returns an error.
  • The value returned by token_for_business is a token, not an ID - it cannot be used directly against the Graph API to access a person's information. You should still store the ID in your database.