Klat
  • Klat SDK
  • Android
    • Getting Started
    • Callback
    • User
      • 사용자 생성 / 로그인
      • 사용자 정보 업데이트
      • 사용자 차단 목록 관리
      • 사용자 로그아웃
      • 사용자 삭제
    • Channel
      • 채널 생성 / 삭제
      • 채널 조회
      • 채널 정보 업데이트
      • 채널 목록 조회
      • 채널 사용자 관리
      • 채널 참여 / 나가기
      • 채널 내 메시징
      • 채널 숨기기 / 보이기
      • 채널 Freeze / Unfreeze
      • 채널 주인 변경
      • 채널 푸시알림 설정
      • 채널별 개인 데이터 설정
    • Push Notification
    • Sample Application
    • What's New
  • iOS
    • Getting Started
    • Callback
    • User
      • 사용자 생성 / 로그인
      • 사용자 정보 업데이트
      • 사용자 차단 목록 관리
      • 사용자 로그아웃
      • 사용자 삭제
    • Channel
      • 채널 생성 / 삭제
      • 채널 조회
      • 채널 정보 업데이트
      • 채널 목록 조회
      • 채널 사용자 관리
      • 채널 참여 / 나가기
      • 채널 내 메시징
      • 채널 숨기기 / 보이기
      • 채널 Freeze / Unfreeze
      • 채널 주인 변경
      • 채널 푸시알림 설정
      • 채널별 개인 데이터 설정
    • Push Notification
    • Sample Application
    • What's New
  • Unity
    • Getting Started
    • Callback
    • User
      • 사용자 생성 / 로그인
      • 사용자 정보 업데이트
      • 사용자 차단 목록 관리
      • 사용자 로그아웃
      • 사용자 삭제
    • Channel
      • 채널 생성 / 삭제
      • 채널 조회
      • 채널 정보 업데이트
      • 채널 목록 조회
      • 채널 사용자 관리
      • 채널 참여 / 나가기
      • 채널 내 메시징
      • 채널 숨기기 / 보이기
      • 채널 Freeze / Unfreeze
      • 채널 주인 변경
      • 채널 푸시알림 설정
      • 채널별 개인 데이터 설정
    • Push Notification
    • Sample Application
  • JavaScript
    • Getting Started
    • Realtime Event
    • Pagination
    • User
      • 사용자 생성 / 로그인
      • 사용자 정보 업데이트
      • 사용자 차단 목록 관리
      • 사용자 로그아웃
      • 사용자 삭제
    • Channel
      • 채널 생성 / 삭제
      • 채널 조회
      • 채널 정보 업데이트
      • 채널 목록 조회
      • 채널 사용자 관리
      • 채널 참여 / 나가기
      • 채널 내 메시징
      • 채널 숨기기 / 보이기
      • 채널 Freeze / Unfreeze
      • 채널 주인 변경
      • 채널 푸시알림 설정
      • 채널별 개인 데이터 설정
    • Push Notification (FCM)
    • Sample Application
    • What's New
  • Flutter
    • Getting Started
    • Callback
    • User
      • 사용자 생성 / 로그인
      • 사용자 정보 업데이트
      • 사용자 차단 목록 관리
      • 사용자 로그아웃
      • 사용자 삭제
    • Channel
      • 채널 생성 / 삭제
      • 채널 조회
      • 채널 정보 업데이트
      • 채널 목록 조회
      • 채널 사용자 관리
      • 채널 참여 / 나가기
      • 채널 내 메시징
      • 채널 숨기기 / 보이기
      • 채널 Freeze / Unfreeze
      • 채널 주인 변경
      • 채널 푸시알림 설정
      • 채널별 개인 데이터 설정
    • Push Notification
  • REST API
    • Getting Started
    • API
      • User
        • 사용자 생성
        • 사용자 로그인 (로그인 토큰)
        • 사용자 조회
        • 사용자 정보 업데이트
        • 사용자 활성화 / 비활성화
        • 사용자 푸시 알림 설정
        • 사용자 삭제
        • 사용자 목록 조회
        • 사용자 채널 조회
        • 사용자 차단 목록 관리
      • Channel
        • 채널 생성
        • 채널 조회
        • 채널 정보 업데이트
        • 채널 삭제
        • 채널 목록 조회
        • 채널 사용자 관리
        • 채널 내 메시징
        • 채널 숨기기 / 보이기
        • 채널 Freeze / Unfreeze
        • 채널 주인 변경
        • 채널 알림 설정
      • App
        • 앱 조회
        • 앱 생성
        • 앱 삭제
      • Bot
        • 봇 생성
        • 봇 목록 조회
        • 봇 조회
        • 봇 정보 업데이트
        • 봇 삭제
        • 봇 채널 목록 조회
        • 봇 채널 내 메시징
        • 봇 채널 참여 / 나가기
    • Push Notification
    • Rate Limit
  • MISC
    • Webhooks
    • SDK Rate Limit
    • Error Code
    • FAQ
      • Function
      • Spec
Powered by GitBook
On this page
  • 1. Login Check
  • 2. Anonymous User
  • 3. Login Using Token
  1. JavaScript
  2. User

사용자 생성 / 로그인

PreviousUserNext사용자 정보 업데이트

Last updated 6 months ago

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

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

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

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

  • 사용할 수 있는 언어 코드 (ISO-639) 값은 아래 링크를 참조하여 주십시오.

  • 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, max char length: 128
    profileImageUrl: 'http://myimage.net/123.jpg',
    data: {
      metadataKey: "metadataValue"
    },
    translationTargetLanguage: 'en', // optional
});
<input type="file" onchange="uploadFile(this)" >

<script>
    async function uploadFile(input) {
        // 프로필 이미지를 업로드
        await client.loginAnonymous({
            userId: 'user-123', // unique userId
            username: 'user-123', // username, max char length: 128
            image: input.files[0], // 업로드 가능한 최대 파일 사이즈는 15MB입니다.
            data: {
              metadataKey: "metadataValue"
            },
        });
    }
</script>

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, max char length: 128
    loginToken: 'user_login_token', // login token issued by admin REST API
    profileImageUrl: 'http://myimage.net/123.jpg',
    data: {
      metadataKey: "metadataValue"
    },
    translationTargetLanguage: 'en', // optional
})
<input type="file" onchange="uploadFile(this)" >

<script>
    async function uploadFile(input) {
        // 프로필 이미지를 업로드
        await client.loginWithToken({
            userId: 'user-123', // unique userId
            username: 'user-123', // username, max char length: 128
            loginToken: 'user_login_token', // login token issued by admin REST API
            image: input.files[0], // 업로드 가능한 최대 파일 사이즈는 15MB입니다.
            data: {
              metadataKey: "metadata"
            },
        });
    }
</script>

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"
}
https://cloud.google.com/translate/docs/languages