Este documento foi atualizado.
A tradução para Português (Brasil) não foi concluída ainda.
Atualização em inglês: 1 de mai
Atualização em Português (Brasil): 22 de jan de 2021

Limited Login 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.

O Login Limitado autentica o usuário e preenche uma instância compartilhada de token de autenticação. As informações adicionais da chamada de autenticação são usadas para preencher a instância compartilhada de perfil do usuário com campos básicos.

A solicitação será malsucedida, pois não há um token de acesso. Para obter um token de acesso, reutilize o método de login clássico (rastreamento ativado por padrão) ou faça uma chamada a FBSDKLoginManagerlogInFromViewController:configuration:completion: com uma configuração que indique que o rastreamento está ativado. Tenha em mente que os usuários são rastreados nesse processo.

To access the Graph API, you need an access token. Either reuse the classic login method (defaults tracking to enabled), or call FBSDKLoginManager logInFromViewController:configuration:completion: with a configuration that specifies that tracking is enabled. This will allow you obtain an access token that can be used for Graph API calls. Be aware that when you do this, users are tracked. Be aware that Limited Login safeguards are not supported in this context.

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.

Sim. Duas propriedades públicas foram adicionadas:

  • loginTracking, que pode ser usada para obter ou definir a preferência de rastreamento para as tentativas de login. Por padrão, é .enabled.

  • nonce, que pode ser usada para obter ou definir um nonce opcional para as tentativas de login. Um nonce válido deve ser uma cadeia de caracteres não vazia sem espaços em branco. Nota: um nonce inválido não será configurado. Em vez disso, serão usados nonces únicos padrão nas tentativas de login.

Da perspectiva do usuário, não há nenhuma alteração. Nos bastidores, o Login Limitado definirá os AuthenticationToken, AccessToken e Profile atuais como nulos (nil).

No momento, o Login Limitado não está disponível para tvOS.

Não. Por conta da descontinuação do SDK para React Native na v9.0, não estamos desenvolvendo uma versão compatível do Login Limitado. Consulte a documentação do React Native para ver mais detalhes.

There is no impact to existing logged in users from adopting Limited Login in your app. If you would like to take advantage of Limited Login safeguards for existing, logged-in users, you must log them out by so they can log back in with Limited Login.

Não. O Login Limitado é específico para cada dispositivo.

É possível reconciliar usuários por email e/ou ASID (ID no escopo do aplicativo).

Não. O modo Login Limitado ainda conta com fb_login_id. Em vez disso, o token de acesso do usuário (uma entidade distinta) é trocado por um token do OIDC no modo Login Limitado.

O modo Login Limitado é compatível apenas com permissões básicas de perfil (nome e foto) e de email. Caso o seu aplicativo necessite de permissões de empresas, não será possível usar o Login Limitado para solicitá-las. No entanto, os seus usuários poderão conceder permissões de empresas no Login Clássico das seguintes formas:

  • Ao fazer login no aplicativo via web.
  • Ao fazer login no aplicativo via iOS no modo Login Clássico.
  • Ao fazer login no aplicativo via 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.