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.
Please see the official documentation, Validating the Limited Login OIDC Token.
Please see key considerations for user_friends with Limited Login in the Permissions in Limited Login 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.
Esta operación autenticará tu usuario y rellenará una instancia compartida de un identificador de acceso de autenticación. La información adicional de la llamada de autenticación se utilizará para rellenar la instancia compartida del perfil de usuario con campos básicos.
Se producirá un error en la solicitud al gráfico porque no habrá ningún identificador de acceso. Para obtener un identificador de acceso, reutiliza el método de inicio de sesión clásico (que establece el seguimiento en activado de manera predeterminada) o llama a FBSDKLoginManager
logInFromViewController:configuration:completion:
con una configuración que especifique que el seguimiento está activado. Ten en cuenta que, cuando lo hagas, se realizará un seguimiento de los usuarios.
Necesitas un identificador de acceso. Reutiliza el método de inicio de sesión clásico (que establece el seguimiento en activado de manera predeterminada) o llama a FBSDKLoginManager
logInFromViewController:configuration:completion:
con una configuración que especifique que el seguimiento está activado. De este modo, podrás obtener un identificador de acceso que podrás utilizar para las llamadas a la API Graph. Ten en cuenta que, cuando lo hagas, se realizará un seguimiento de 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 han añadido dos propiedades públicas:
loginTracking
, que se puede utilizar para obtener o establecer la preferencia de seguimiento deseada para los intentos de inicio de sesión. De forma predeterminada, se establece en .enabled
.
nonce
, que se puede utilizar para obtener o establecer una cadena opcional para los intentos de inicio de sesión. Una cadena válida no puede estar vacía ni contener espacios en blanco. Nota: No se establecerá ninguna cadena no válida. En su lugar, se utilizarán cadenas únicas predeterminadas para los intentos de inicio de sesión.
No existe ningún cambio desde la perspectiva del usuario. Internamente, establecerá los elementos AuthenticationToken
, AccessToken
y Profile
actuales en valores nulos.
El inicio de sesión limitado no está disponible para tvOS actualmente.
No. No estamos desarrollando el inicio de sesión limitado para el SDK para React Native, dado que se retirará en la versión 9.0 del SDK. Para obtener más detalles, consulta la documentación sobre React Native.
Los usuarios que tengan la sesión iniciada permanecerán asignados al modo de inicio de sesión clásico de forma predeterminada. Solo los usuarios nuevos o que han cerrado la sesión se pueden inicializar para el modo de inicio de sesión limitado.
No. La marca de inicio de sesión limitado es específica del dispositivo.
Puedes conciliar usuarios por correo electrónico o a través del ASID.
No. El elemento fb_login_id
sigue estando presente en el modo de inicio de sesión limitado. Es el identificador de acceso de usuario (entidad independiente) que se ha cambiado por un identificador OIDC en el modo de inicio de sesión limitado.
El modo de inicio de sesión limitado solo admite los permisos de perfil básico (nombre y foto) y de correo electrónico. Si tu aplicación requiere permisos empresariales, no puedes utilizar el inicio de sesión limitado para solicitarlos. No obstante, tus usuarios pueden realizar las siguientes acciones para conceder permisos empresariales en el modo de inicio de sesión clásico:
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:
token_for_business
will also changetoken_for_business
field and the app is not associated with a Business Manager, the call returns an error.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.