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

# PFAuthenticationLoginWithPSNRequest

> PFAuthenticationLoginWithPSNRequest data model. If this is the first time a user has signed in with the PlayStation :tm: Network account and CreateAccount is.

PFAuthenticationLoginWithPSNRequest data model. 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.

## Syntax

```cpp theme={null}
typedef struct PFAuthenticationLoginWithPSNRequest {  
    const char* authCode;  
    bool createAccount;  
    PFStringDictionaryEntry const* customTags;  
    uint32_t customTagsCount;  
    PFGetPlayerCombinedInfoRequestParams const* infoRequestParameters;  
    int32_t const* issuerId;  
    const char* playerSecret;  
    const char* redirectUri;  
} PFAuthenticationLoginWithPSNRequest;  
```

### Members

**`authCode`**   const char\*<br />*is null-terminated*

Auth code provided by the PlayStation :tm: Network OAuth provider.

**`createAccount`**   bool

Automatically create a PlayFab account if one is not currently linked to this ID.

**`customTags`**   PFStringDictionaryEntry const\*<br />*may be nullptr*

(Optional) The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).

**`customTagsCount`**   uint32\_t

Count of customTags

**`infoRequestParameters`**   PFGetPlayerCombinedInfoRequestParams const\*<br />*may be nullptr*

(Optional) Flags for which pieces of info to return for the user.

**`issuerId`**   int32\_t const\*<br />*may be nullptr*

(Optional) Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment.

**`playerSecret`**   const char\*<br />*is null-terminated*

(Optional) Player secret that is used to verify API request signatures (Enterprise Only).

**`redirectUri`**   const char\*<br />*is null-terminated*

(Optional) Redirect URI supplied to PlayStation :tm: Network when requesting an auth code.

## Requirements

**Header:** PFAuthenticationTypes.h

## See also

[PFAuthenticationTypes members](/services/playfab/api-references/c/pfauthenticationtypes/pfauthenticationtypes_members)


## Related topics

- [PFAuthenticationLoginWithPSNAsync](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationloginwithpsnasync.md)
- [PFAuthenticationReLoginWithPSNAsync](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationreloginwithpsnasync.md)
- [Services C API overview - PFAuthenticationTypes.h](/services/playfab/api-references/c/pfauthenticationtypes/pfauthenticationtypes_members.md)
- [PFAuthenticationLoginWithAppleRequest](/services/playfab/api-references/c/pfauthenticationtypes/structs/pfauthenticationloginwithapplerequest.md)
- [PFAuthenticationLoginWithCustomIDRequest](/services/playfab/api-references/c/pfauthenticationtypes/structs/pfauthenticationloginwithcustomidrequest.md)
