> ## 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.

# PFAuthenticationLoginWithPSNAsync

> Signs the user in using a PlayStation :tm: Network authentication code, returning a session identifier that can subsequently be used for API calls which.

Signs the user in using a PlayStation :tm: Network authentication code, returning a session identifier that can subsequently be used for API calls which require an authenticated user

## Syntax

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

### Parameters

**`serviceConfigHandle`**   PFServiceConfigHandle

PFServiceConfigHandle returned from PFServiceConfigCreateHandle call.

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

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 Sony PlayStation®. If this is the first time a user has signed in with the PlayStation :tm: Network account and CreateAccount is set to true, a new PlayFab account will be created and linked to the PlayStation :tm: Network account. In this case, no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the PlayStation :tm: Network account, an error indicating this will be returned, so that the title can guide the user through creation of a PlayFab account. See also ClientLinkPSNAccountAsync, ClientUnlinkPSNAccountAsync. When the asynchronous task is complete, call [PFAuthenticationLoginWithPSNGetResult](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationloginwithpsngetresult) to get the result.

## Requirements

**Header:** PFAuthentication.h

## See also

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


## Related topics

- [PFAuthenticationLoginWithPSNGetResult](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationloginwithpsngetresult.md)
- [PFAuthenticationLoginWithPSNGetResultSize](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationloginwithpsngetresultsize.md)
- [Services C API overview - PFAuthentication.h](/services/playfab/api-references/c/pfauthentication/pfauthentication_members.md)
- [PFAuthenticationReLoginWithPSNAsync](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationreloginwithpsnasync.md)
- [PFAuthenticationLoginWithSteamAsync](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationloginwithsteamasync.md)
