UNPKG

onfido-sdk-ui

Version:

JavaScript SDK view layer for Onfido identity verification

59 lines (48 loc) 1.52 kB
import type { ApiRawError, SuccessCallback } from '~types/api' export type HttpRequestParams = { contentType?: string endpoint: string payload?: string | FormData token: string } export const performHttpReq = <T>( { contentType, endpoint, payload, token }: HttpRequestParams, onSuccess: SuccessCallback<T>, onError: (error: ApiRawError) => void ): void => { const request = new XMLHttpRequest() request.open('POST', endpoint) if (contentType) { request.setRequestHeader('Content-Type', contentType) } request.setRequestHeader('Authorization', token) request.onload = () => { if (request.status === 200 || request.status === 201) { onSuccess(JSON.parse(request.response)) } else { onError(request) } } request.onerror = () => onError(request) request.send(payload) } export const getAuthConfig = ( token: string, onSuccess: SuccessCallback<string>, onError: (error: ApiRawError) => void ): void => { const body = { sdk_type: 'onfido_web_sdk', } const request = new XMLHttpRequest() request.open('POST', `${process.env.AUTH_URL}/v3/auth_3d/session`) request.setRequestHeader('Authorization', token) request.setRequestHeader('Application-Id', 'com.onfido.onfidoAuth') request.setRequestHeader('Content-Type', 'application/json') request.onreadystatechange = function () { if (this.readyState === XMLHttpRequest.DONE) { onSuccess(this.responseText) } else onError(request) } request.send(JSON.stringify(body)) }