사용자 생성 / 로그인

TalkPlus는 익명 사용자 기반의 로그인, 토큰 기반의 로그인을 지원합니다. 토큰 기반의 로그인을 지원하기 위해서는 REST API 중 /api/users/create, /api/users/login 를 통하여 유저를 생성/로그인한 후 토큰을 생성하여 사용할 수 있습니다.

1. Login Check

현재 로그인 된 상태인지 확인 할 수 있습니다.

const isLoggedIn = client.isLoggedIn();

console.log(isLoggedIn);  // true or false

2. Anonymous User

Unique ID, 사용자 닉네임을 사용하여 익명 로그인을 할 수 있습니다.

  • 이 기능을 사용하려면, 대시보드에 있는 앱 설정에서 Anonymous User기능을 활성화 해야합니다.

  • data의 경우, 최대 5개의 key-value pair를 입력할 수 있습니다. key의 최대 size는 128자 이고 최대 value size는 1024자입니다. Key, value 둘 다 문자열이어야 합니다.

// profileImageUrl을 직접 지정
await client.loginAnonymous({
    userId: 'user-123', // unique userId, needs to be URI valid
    username: 'user-123', // username
    profileImageUrl: 'http://myimage.net/123.jpg',
    data: {
      metadataKey: "metadataValue"
    },
});

Response

{
    "user":
    {
        "id": "b1ab-a030-fdbb",
        "username": "test1",
        "profileImageUrl": "",
        "disablePushNotification": false,
        "data": null,
        "updatedAt": 1651819810137,
        "createdAt": 1651819810137
    },

    /*
        SDK internal use
    */
    "sessionId": "6274c52223fc72000100b7c3",
    "sessionToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBJRCI6IjNlZTMwMzYyLTg0NTktNGZmOC1iNjljLTA5MWJlMDRjZmQ3YSIsInVzZXJJZCI6ImIxYWItYTAzMC1mZGJiIiwiZGV2aWNlSWQiOiJ3ZWJfdjEuNF9sb2dpbkFub255bW91c193ZWI6Ok1vemlsbGEvNS4wIChNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwXzE1XzcpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMDAuMC40ODk2LjEyNyBTYWZhcmkvNTM3LjM2fHwxNjUxODE5ODA5ODc4Iiwic2Vzc2lvbklkIjoiNjI3NGM1MjIyM2ZjNzIwMDAxMDBiN2MzIiwiaXNBbm9ueW1vdXNMb2dpbiI6dHJ1ZSwiaXNzIjoidGFsa3BsdXMuaW8ifQ.sfctNQHMEcRVvLeU-QTKsuuhUv-L5-5i9ern4lEj88Q"
}

3. Login Using Token

login Token, Unique ID, 사용자 닉네임을 사용하여 로그인을 할 수 있습니다.

  • REST API 중 /api/users/create, /api/users/login 를 통하여 유저를 생성/로그인한 후 토큰을 생성해야 합니다.

  • data의 경우, 최대 5개의 key-value pair를 입력할 수 있습니다. key의 최대 size는 128자 이고 최대 value size는 1024자입니다. Key, value 둘 다 문자열이어야 합니다.

await client.loginWithToken({
    userId: 'user-123', // unique userId, needs to be URI valid
    username: 'user-123', // username
    loginToken: 'user_login_token', // login token issued by admin REST API
    profileImageUrl: 'http://myimage.net/123.jpg',
    data: {
      metadataKey: "metadataValue"
    },
})

Response

{
    "user":
    {
        "id": "b1ab-a030-fdbb",
        "username": "test1",
        "profileImageUrl": "",
        "disablePushNotification": false,
        "data": null,
        "updatedAt": 1651819810137,
        "createdAt": 1651819810137
    },

    /*
        SDK internal use
    */
    "sessionId": "6274c52223fc72000100b7c3",
    "sessionToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBJRCI6IjNlZTMwMzYyLTg0NTktNGZmOC1iNjljLTA5MWJlMDRjZmQ3YSIsInVzZXJJZCI6ImIxYWItYTAzMC1mZGJiIiwiZGV2aWNlSWQiOiJ3ZWJfdjEuNF9sb2dpbkFub255bW91c193ZWI6Ok1vemlsbGEvNS4wIChNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwXzE1XzcpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMDAuMC40ODk2LjEyNyBTYWZhcmkvNTM3LjM2fHwxNjUxODE5ODA5ODc4Iiwic2Vzc2lvbklkIjoiNjI3NGM1MjIyM2ZjNzIwMDAxMDBiN2MzIiwiaXNBbm9ueW1vdXNMb2dpbiI6dHJ1ZSwiaXNzIjoidGFsa3BsdXMuaW8ifQ.sfctNQHMEcRVvLeU-QTKsuuhUv-L5-5i9ern4lEj88Q"
}

Last updated