@interlinklabs/test-mdk
Version:
Interlink Labs MDK – universal React/TS SDK
102 lines (72 loc) • 2.64 kB
Markdown
# SDK Mdk Integration Guide
## 1. Introduction
The **Mdk** SDK provides functionalities to support user authentication using JWT tokens. This SDK is designed to integrate with React applications, enabling you to manage login sessions, validate tokens, and handle user logout.
## 2. Installation
1. Install the `@interlinklabs/mdk` library:
```bash
npm install @interlinklabs/mdk
```
2. Import the **Mdk** SDK into your project from the corresponding file.
## 3. Using the SDK
### 3.1. Configuring Mdk
Integrate the SDK by using the `Mdk` component in your application.
```tsx
import React from "react";
import Mdk from "@interlinklabs/mdk";
const App = () => {
const handleSuccess = () => {
console.log("Login successful!");
};
const handleFailure = () => {
console.log("Login failed.");
};
return (
<Mdk
appid="your-app-id"
onSuccess={handleSuccess}
onFailure={handleFailure}
>
{({ open }) => <button onClick={open}>Login with the app</button>}
</Mdk>
);
};
export default App;
```
#### Mdk Properties:
- `appid` (string): Your application ID for identification.
- `onSuccess` (function): A callback function triggered upon successful login.
- `onFailure` (function): A callback function triggered upon login failure.
- `children` (function): Renders UI components with the `{ open }` property to initiate the login process.
### 3.2. Mdk Methods
#### 1. `Mdk.getLoginId()`
- **Description**: Retrieves the loginId from the JWT stored in cookies.
- **Usage**:
```tsx
const loginId = Mdk.getLoginId("your-app-id");
console.log("Login ID:", loginId);
```
#### 2. `Mdk.getUserName()`
- **Description**: Fetches the username associated with a given loginId.
- **Usage**:
```tsx
const username = await Mdk.getUserName("your-app-id");
console.log("Username:", username);
```
#### 3. `Mdk.logOut()`
- **Description**: Deletes the JWT token and logs out the user.
- **Usage**:
```tsx
Mdk.logOut("your-app-id");
console.log("Logged out!");
```
### 3.3. Workflow
1. Login Request: The user clicks the login button (triggered by the open method).
2. Message Sent: A message containing the appid is sent to the native app.
3. Native App Response: The native app responds with the status (pass or fail).
4. Token Validation: The SDK validates the JWT token:
- If valid: The token is stored in cookies, and the onSuccess function is called.
- If invalid: The token is deleted, and the onFailure function is called.