> For the complete documentation index, see [llms.txt](https://docs.movesdk.com/move-platform/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.movesdk.com/move-platform/move-sdk-1.x/sdk/models/moveauth.md).

# MoveAuth

The [MoveAuth ](/move-platform/move-sdk-1.x/sdk/models/moveauth.md)object is used to validate the usage of the SDK and configure its services according to that product's specifications.

{% tabs %}
{% tab title="Android" %}

```kotlin
MoveAuth {
    productID: Long
    contractId: String
    accessToken: String
    refreshToken: String    
}
```

{% endtab %}

{% tab title="iOS" %}

```swift
struct MoveAuth {
    var userToken: String
    var refreshToken: String
    var contractID: String
    var productID: Int
}
```

{% endtab %}

{% tab title="React Native" %}

```javascript
export type RnDolphinAuth = {
  productId: number,
  contractId: string,
  accessToken: string,
  refreshToken: string,
};
```

{% endtab %}
{% endtabs %}

| MoveAuth     |        |                                     |
| ------------ | ------ | ----------------------------------- |
| userToken    | String | User's session-based access token.  |
| refreshToken | String | User's session-based refresh token. |
| contractID   | String | User's contract id.                 |
| productID    | String | Client's product id.                |

{% hint style="warning" %}

### Authentication Expiry

The host app is expected to monitor [MoveAuthState](/move-platform/move-sdk-1.x/sdk/models/moveauthstate.md) updates via`authStateChangeListener`(Android / [iOS](/move-platform/move-sdk-1.x/sdk/api-interface/ios/services.md#set-sdk-auth-state-listener)) API and handle those changes accordingly.

Check [Authentication updates and expiry](/move-platform/move-sdk-1.x/sdk/models/moveauthstate.md#authentication-updates-and-expiry) for more details.&#x20;
{% endhint %}

| MoveAuth related APIs                                                                                                                       |                                                                                                                      |
| ------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `setAuthStateChangeListener()` (Android / [iOS](/move-platform/move-sdk-1.x/sdk/api-interface/ios/services.md#set-sdk-auth-state-listener)) | Block to be invoked every time SDK [MoveAuthState](/move-platform/move-sdk-1.x/sdk/models/moveauthstate.md) changes. |
| `getAuthState()`(Android / [iOS](/move-platform/move-sdk-1.x/sdk/api-interface/ios/services.md#get-sdk-auth-state))                         | Gets the current [MoveAuthState](/move-platform/move-sdk-1.x/sdk/models/moveauthstate.md).                           |
