> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PFAuthenticationLoginWithFacebookAsync

> Signs the user in using a Facebook access token, returning a session identifier that can subsequently be used for API calls which require an authenticated user

Signs the user in using a Facebook access token, returning a session identifier that can subsequently be used for API calls which require an authenticated user

## Syntax

```cpp theme={null}
HRESULT PFAuthenticationLoginWithFacebookAsync(  
    PFServiceConfigHandle serviceConfigHandle,  
    const PFAuthenticationLoginWithFacebookRequest* request,  
    XAsyncBlock* async  
)  
```

### Parameters

**`serviceConfigHandle`**   PFServiceConfigHandle

PFServiceConfigHandle returned from PFServiceConfigCreateHandle call.

**`request`**   [PFAuthenticationLoginWithFacebookRequest\*](/services/playfab/api-references/c/pfauthenticationtypes/structs/pfauthenticationloginwithfacebookrequest)

Populated request object.

**`async`**   XAsyncBlock\*<br />*Inout*

XAsyncBlock for the async operation.

### Return value

Type: HRESULT

Result code for this API operation.

## Remarks

This API is available on Android and iOS. Facebook sign-in is accomplished using the Facebook User Access Token. More information on the Token can be found in the Facebook developer documentation ([https://developers.facebook.com/docs/facebook-login/access-tokens/](https://developers.facebook.com/docs/facebook-login/access-tokens/)). In Unity, for example, the Token is available as AccessToken in the Facebook SDK ScriptableObject FB. If this is the first time a user has signed in with the Facebook account and CreateAccount is set to true, a new PlayFab account will be created and linked to the provided account's Facebook ID. In this case, no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the Facebook account, an error indicating this will be returned, so that the title can guide the user through creation of a PlayFab account. Note that titles should never re-use the same Facebook applications between PlayFab Title IDs, as Facebook provides unique user IDs per application and doing so can result in issues with the Facebook ID for the user in their PlayFab account information. If you must re-use an application in a new PlayFab Title ID, please be sure to first unlink all accounts from Facebook, or delete all users in the first Title ID. Note: If the user is authenticated with AuthenticationToken, instead of AccessToken, the GetFriendsList API will return an empty list. See also ClientLinkFacebookAccountAsync, ClientUnlinkFacebookAccountAsync. When the asynchronous task is complete, call [PFAuthenticationLoginWithFacebookGetResult](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationloginwithfacebookgetresult) to get the result.

## Requirements

**Header:** PFAuthentication.h

## See also

[PFAuthentication members](/services/playfab/api-references/c/pfauthentication/pfauthentication_members)


## Related topics

- [PFAuthenticationLoginWithFacebookGetResult](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationloginwithfacebookgetresult.md)
- [PFAuthenticationLoginWithFacebookGetResultSize](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationloginwithfacebookgetresultsize.md)
- [Services C API overview - PFAuthentication.h](/services/playfab/api-references/c/pfauthentication/pfauthentication_members.md)
- [PFAuthenticationReLoginWithFacebookAsync](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationreloginwithfacebookasync.md)
- [PFAuthenticationLoginWithFacebookRequest](/services/playfab/api-references/c/pfauthenticationtypes/structs/pfauthenticationloginwithfacebookrequest.md)
