사용자 생성 / 로그인

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

번역 기능이 필요할 경우 아래 내용을 확인하여 주십시오.

메시지 번역 기능은 구글 클라우드 번역 서비스를 통하여 지원됩니다. 이 기능을 사용하려면 톡플러스 대쉬보드(TalkPlus Dashboard)에서 구글 클라우드 서비스 계정 KEY 를 추가하여 주십시오.

  • 번역 기능을 사용 할 경우, 로그인 translationTargetLanguage 파라미터에 번역 될 언어 코드 (ISO-639) 값을 입력하여 주십시오.

  • 사용할 수 있는 언어 코드 (ISO-639) 값은 아래 링크를 참조하여 주십시오. https://cloud.google.com/translate/docs/languages

  • message 객체에 있는 'translations' 필드에 번역된 텍스트를 확인 할 수 있습니다. 언어 코드 (ISO-639) 값을 키(KEY) 값으로 사용하면 번역된 텍스트(Value)를 가져올 수 있습니다.

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"
    },
    translationTargetLanguage: 'en', // optional
});

Response

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

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"
    },
    translationTargetLanguage: 'en', // optional
})

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