LoginTracking.limited, Facebook does not use the login event for ad targeting or measurement, and your app receives an OIDC AuthenticationToken instead of an AccessToken.
How Limited Login differs from standard login
| Capability | Standard Login (.enabled) | Limited Login (.limited) |
|---|---|---|
| Token type | AccessToken | AuthenticationToken (OIDC) |
| Graph API calls | Yes | No |
| Ad targeting by Facebook | Yes | No |
| Data available | Profile, email, friends (with permissions) | Claims in the ID token only |
| iOS requirement | iOS 13+ | iOS 14+ |
| Tracking Transparency required | No | No |
Configure Limited Login
Settracking to .limited in your LoginConfiguration. Because no AccessToken is issued, you only get the data encoded in the OIDC ID token:
Use FBLoginButton with Limited Login
SetloginTracking on the button before it appears on screen:
Access the AuthenticationToken
After a successful Limited Login,AuthenticationToken.current contains the OIDC ID token:
Parse AuthenticationTokenClaims
The SDK providesAuthenticationTokenClaims to decode the payload of the ID token without sending it to your server first:
The claims available in the token depend on the permissions granted. If the user did not grant
email, the email claim will be nil.Generate a server-side nonce
The nonce is a one-time value that links the login request on your client to the token your server validates. This prevents replay attacks.Generate a nonce on your server
Create a cryptographically random string on your server and associate it with the user’s session.
When to use Limited Login vs. standard login
Choose Limited Login when:- Your app only needs to identify the user (authenticate), not act on their behalf.
- You want to reduce the data footprint your app collects from Facebook.
- You are building an app that targets a privacy-sensitive audience (health, finance, children’s apps, etc.).
- You want a simpler App Store review process by collecting less data.
- You need to make Graph API calls (reading the user’s feed, friends, posting on their behalf).
- Your app uses Facebook data for features beyond identifying the user.
- You need a token your backend can use to call the Graph API server-to-server.
iOS 14 compliance notes
Limited Login does not replace App Tracking Transparency. If your app uses the IDFA or tracks users across apps, you still need to request ATT permission via
ATTrackingManager.requestTrackingAuthorization. Limited Login only affects how Facebook uses the login event — it does not automatically satisfy ATT requirements.tp=ios_14_do_not_track parameter in the OAuth request, signaling to Facebook’s servers that the user’s login event should not be used for measurement or ad targeting.