> For the complete documentation index, see [llms.txt](https://kinematicsoup.gitbook.io/reactor/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kinematicsoup.gitbook.io/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi/ks.reactor.ksplayerapi.session.md).

# Class ksPlayerAPI.Session

Namespace: [KS.Reactor](/reactor/api-reference/ks.reactor.md)\
Assembly: KSCommon.dll

Player session information with implementation of the API requests that require an authenticated player.

```csharp
public class ksPlayerAPI.Session
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← [ksPlayerAPI.Session](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi/ks.reactor.ksplayerapi.session.md)

#### Inherited Members

[object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object\)), [object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object-system-object\)), [object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode), [object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype), [object.MemberwiseClone()](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone), [object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), [object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)

## Properties

### IsValid <a href="#ks_reactor_ksplayerapi_session_isvalid" id="ks_reactor_ksplayerapi_session_isvalid"></a>

Check if the session is valid.

```csharp
public bool IsValid { get; }
```

#### Property Value

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### PlayerId <a href="#ks_reactor_ksplayerapi_session_playerid" id="ks_reactor_ksplayerapi_session_playerid"></a>

Return the player ID.

```csharp
public string PlayerId { get; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

## Methods

### Authenticate(LoginCallback, object) <a href="#ks_reactor_ksplayerapi_session_authenticate_ks_reactor_ksplayerapi_logincallback_system_object" id="ks_reactor_ksplayerapi_session_authenticate_ks_reactor_ksplayerapi_logincallback_system_object"></a>

Authenticate the current session.

```csharp
public void Authenticate(ksPlayerAPI.LoginCallback callback = null, object asyncState = null)
```

#### Parameters

`callback` [ksPlayerAPI](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi.md).[LoginCallback](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi/ks.reactor.ksplayerapi.logincallback.md)

Asynchronous callback.

`asyncState` [object](https://learn.microsoft.com/dotnet/api/system.object)

State object returned in the callback.

### LinkDeviceID(string, DeviceTypes, GenericCallback, object) <a href="#ks_reactor_ksplayerapi_session_linkdeviceid_system_string_ks_reactor_ksplayerapi_devicetypes_ks_reac" id="ks_reactor_ksplayerapi_session_linkdeviceid_system_string_ks_reactor_ksplayerapi_devicetypes_ks_reac"></a>

Links a device ID to the current active session.

```csharp
public void LinkDeviceID(string deviceId, ksPlayerAPI.DeviceTypes deviceType, ksPlayerAPI.GenericCallback callback = null, object asyncState = null)
```

#### Parameters

`deviceId` [string](https://learn.microsoft.com/dotnet/api/system.string)

Device ID.

`deviceType` [ksPlayerAPI](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi.md).[DeviceTypes](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi/ks.reactor.ksplayerapi.devicetypes.md)

Device type.

`callback` [ksPlayerAPI](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi.md).[GenericCallback](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi/ks.reactor.ksplayerapi.genericcallback.md)

Asynchronous callback.

`asyncState` [object](https://learn.microsoft.com/dotnet/api/system.object)

State object returned in the callback.

### LinkPassword(string, string, string, GenericCallback, object) <a href="#ks_reactor_ksplayerapi_session_linkpassword_system_string_system_string_system_string_ks_reactor_ksp" id="ks_reactor_ksplayerapi_session_linkpassword_system_string_system_string_system_string_ks_reactor_ksp"></a>

Links a password credential to the current active session.

```csharp
public void LinkPassword(string email, string username, string password, ksPlayerAPI.GenericCallback callback = null, object asyncState = null)
```

#### Parameters

`email` [string](https://learn.microsoft.com/dotnet/api/system.string)

`username` [string](https://learn.microsoft.com/dotnet/api/system.string)

`password` [string](https://learn.microsoft.com/dotnet/api/system.string)

`callback` [ksPlayerAPI](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi.md).[GenericCallback](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi/ks.reactor.ksplayerapi.genericcallback.md)

Asynchronous callback.

`asyncState` [object](https://learn.microsoft.com/dotnet/api/system.object)

State object returned in the callback.

### Logout(GenericCallback, object) <a href="#ks_reactor_ksplayerapi_session_logout_ks_reactor_ksplayerapi_genericcallback_system_object" id="ks_reactor_ksplayerapi_session_logout_ks_reactor_ksplayerapi_genericcallback_system_object"></a>

Invalidate a ksPlayerAPI.Session.

```csharp
public void Logout(ksPlayerAPI.GenericCallback callback = null, object asyncState = null)
```

#### Parameters

`callback` [ksPlayerAPI](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi.md).[GenericCallback](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi/ks.reactor.ksplayerapi.genericcallback.md)

Asynchronous callback.

`asyncState` [object](https://learn.microsoft.com/dotnet/api/system.object)

State object returned in the callback.

### ToBase64() <a href="#ks_reactor_ksplayerapi_session_tobase64" id="ks_reactor_ksplayerapi_session_tobase64"></a>

Encodes the player ID and token as a base64 encode string that can be used save and restore sessions.

```csharp
public string ToBase64()
```

#### Returns

[string](https://learn.microsoft.com/dotnet/api/system.string)

### UnlinkDeviceID(string, DeviceTypes, GenericCallback, object) <a href="#ks_reactor_ksplayerapi_session_unlinkdeviceid_system_string_ks_reactor_ksplayerapi_devicetypes_ks_re" id="ks_reactor_ksplayerapi_session_unlinkdeviceid_system_string_ks_reactor_ksplayerapi_devicetypes_ks_re"></a>

Unlinks a device ID from the current active session.

```csharp
public void UnlinkDeviceID(string deviceId, ksPlayerAPI.DeviceTypes deviceType, ksPlayerAPI.GenericCallback callback = null, object asyncState = null)
```

#### Parameters

`deviceId` [string](https://learn.microsoft.com/dotnet/api/system.string)

Device ID.

`deviceType` [ksPlayerAPI](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi.md).[DeviceTypes](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi/ks.reactor.ksplayerapi.devicetypes.md)

Device type.

`callback` [ksPlayerAPI](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi.md).[GenericCallback](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi/ks.reactor.ksplayerapi.genericcallback.md)

Asynchronous callback.

`asyncState` [object](https://learn.microsoft.com/dotnet/api/system.object)

State object returned in the callback.

### UnlinkPassword(GenericCallback, object) <a href="#ks_reactor_ksplayerapi_session_unlinkpassword_ks_reactor_ksplayerapi_genericcallback_system_object" id="ks_reactor_ksplayerapi_session_unlinkpassword_ks_reactor_ksplayerapi_genericcallback_system_object"></a>

Unlinks a password credential from the current active session.

```csharp
public void UnlinkPassword(ksPlayerAPI.GenericCallback callback = null, object asyncState = null)
```

#### Parameters

`callback` [ksPlayerAPI](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi.md).[GenericCallback](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi/ks.reactor.ksplayerapi.genericcallback.md)

Asynchronous callback.

`asyncState` [object](https://learn.microsoft.com/dotnet/api/system.object)

State object returned in the callback.
