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

# PFAuthenticationServerLoginWithSteamIdAsync

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

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

## Syntax

```cpp theme={null}
HRESULT PFAuthenticationServerLoginWithSteamIdAsync(  
    PFServiceConfigHandle serviceConfigHandle,  
    const char* secretKey,  
    const PFAuthenticationLoginWithSteamIdRequest* request,  
    XAsyncBlock* async  
)  
```

### Parameters

**`serviceConfigHandle`**   PFServiceConfigHandle

PFServiceConfigHandle returned from PFServiceConfigCreateHandle call.

**`secretKey`**   char\*<br />*In\_z*

Title Secret Key used to authenticate the service request.

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

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 Win32, Linux, and macOS. If this is the first time a user has signed in with the Steam ID and CreateAccount is set to true, a new PlayFab account will be created and linked to the Steam account. In this case, no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the Steam account, an error indicating this will be returned, so that the title can guide the user through creation of a PlayFab account. Steam users that are not logged into the Steam Client app will only have their Steam username synced, other data, such as currency and country will not be available until they login while the Client is open. When the asynchronous task is complete, call [PFAuthenticationServerLoginWithSteamIdGetResult](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationserverloginwithsteamidgetresult) to get the result.

## Requirements

**Header:** PFAuthentication.h

## See also

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