Preguntas frecuentes sobre el inicio de sesión limitado

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.

Esto autenticará al usuario y rellenará una instancia compartida de un token de autenticación. La información adicional de la llamada de autenticación se utilizará para rellenar la instancia compartida Perfil de usuario con campos básicos.

Una solicitud graph fallará porque no hay un token de acceso. Para obtener un token de acceso, reutiliza el método de inicio de sesión clásico (el seguimiento está activado de forma predeterminada), o llama a FBSDKLoginManagerlogInFromViewController:configuration:completion: con una configuración que especifique que el seguimiento está habilitado. Ten en cuenta que al hacer esto, se hace un seguimiento a los usuarios.

Necesitas un token de acceso. Reutiliza el método de inicio de sesión clásico (el seguimiento está activado de forma predeterminada), o llama a FBSDKLoginManagerlogInFromViewController:configuration:completion: con una configuración que especifique que el seguimiento está activado. Esto te permitirá obtener un token de acceso que puede utilizarse para las llamadas a la API Graph. Ten en cuenta que al hacer esto, se hace un seguimiento a los usuarios.

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.

Sí. Se agregan dos propiedades públicas:

  • loginTracking, que se puede utilizar para obtener o establecer la preferencia de seguimiento deseada que usará en los intentos de inicio de sesión. De manera predeterminada, está .enabled.

  • nonce, que se puede utilizar para obtener o establecer un nonce opcional que se usará en los intentos de inicio de sesión. Un nonce válido debe ser una cadena no vacía sin espacios en blanco. Nota: No se establecerá un nonce no válido. En su lugar, se utilizarán nonces únicos predeterminados para los intentos de inicio de sesión.

No hay cambios desde la perspectiva del usuario. A bajo nivel, fijará el AuthenticationToken, AccessToken actual y Profile a nulo.

En estos momentos, el inicio de sesión limitado no está disponible para tvOS.

No. No estamos desarrollando el inicio de sesión limitado en el SDK para React Native debido a su obsolecencia en el SDK v9.0. Para obtener más información, consulta la documentación de React Native.

Los usuarios existentes que hayan iniciado sesión seguirán asignados al modo de inicio de sesión clásico de forma predeterminada. Únicamente los usuarios nuevos o que hayan cerrado la sesión pueden inicializarse para el modo de inicio de sesión limitado.

No. La marca de Inicio de sesión limitado es específica de dispositivo.

No. fb_login_id sigue presente en el modo de inicio de sesión limitado. Es el token de acceso de usuario (entidad independiente) que se cambia por un token de OIDC en el modo de inicio de sesión limitado.

El modo de inicio de sesión limitado solo admite el perfil básico (nombre y foto) y los permisos de correo electrónico. Si tu aplicación requiere permisos del negocio, no puedes utilizar el inicio de sesión limitado para solicitarlos. Sin embargo, tus usuarios pueden conceder permisos del negocio en el inicio de sesión clásico de las siguientes maneras:

  • Cuando inician sesión en tu aplicación a través de la web.
  • Cuando inician sesión en tu aplicación a través de iOS en el modo de inicio de sesión clásico.
  • Cuando inician sesión en tu aplicación a través 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.