UNPKG

@amityco/ts-sdk-react-native

Version:

Amity Social Cloud Typescript SDK

50 lines (44 loc) 1.31 kB
import { getActiveClient } from './activeClient'; import { getDeviceInfo } from '~/core/device'; /** * Retrieves a pair of {@link Amity.Tokens} necessary for connection * * @param params.userId The userId to use to issue a token * @param params.displayName The user's displayName * @param params.deviceId The user's device Id (can be manually set for native users) * @param params.authToken The authentication token - necessary when network option is set to secure * @return The accessToken for the given userId * * @category Client API * @hidden */ export const getToken = async ({ params, options, }: { params: { userId: Amity.InternalUser['userId']; displayName?: Amity.InternalUser['displayName']; authToken?: string; deviceId: Amity.Device['deviceId']; }; options?: { setAccessTokenCookie?: boolean }; }) => { const client = getActiveClient(); client.log('client/api/getToken', params); const deviceInfo = getDeviceInfo(); const { data } = await client.http.post<Amity.Tokens & { users: Amity.InternalUser[] }>( '/api/v5/sessions', { ...params, deviceInfo, }, { headers: { 'X-API-Key': client.apiKey, 'set-access-token-cookie': options?.setAccessTokenCookie || false, }, }, ); return data; };