메서드
Wepin PIN Pad Library 초기화 이후 사용할 수 있습니다.
generateRegistrationPINBlock
await wepinPin.generateRegistrationPINBlock()사용자의 지갑생성 및 회원가입을 위해 필요한 PIN을 입력 받을 수 있는 핀 패드 화면을 띄우고 입력받은 PIN을 처리하여 PIN Block을 생성합니다.
Parameters
<void>
Return value
Promise<RegistrationPinBlock>UVD<EncUVD>b64Data<string> b64SKey의 원본키로 암호화된 데이터b64SKey<string> b64Data 를 생성할때 사용하는 키seqNum<number> optional PIN Block 사용시 순서대로 사용되었는지 확인하기 위한 값
hint<EncPinHint>data<string> PIN 힌트를 암호화한 값length<string> PIN 힌트의 길이version<number>
PIN 힌트의 버전
Example
const pinBlock = await wepinPin.generateRegistrationPINBlock()
fetch({
url: 'https://sdk.wepin.io/v1/app/register',
method: 'POST',
// Omit authentication headers
body: {
// Omit other bodies
UVD: pinBlock.UVD,
hint: pinBlock.hint,
}
}) generateAuthPINBlock
await wepinPin.generateAuthPINBlock(count?)사용자 인증에 필요한 PIN을 입력 받을 수 있는 핀 패드 화면을 띄우고 입력받은 PIN을 처리하여 PIN Block을 생성합니다.
사용자가 2FA(OTP)를 활성화한 경우에는, OTP 코드를 입력받을 수 있는 화면도 띄우고 처리합니다.
Parameters
count<number> optional생성하려는 PIN Block의 갯수. 기본값은
1입니다.
Return value
Promise<AuthPinBlock>UVDs<EncUVD[]> 암호화된 PIN Block의 리스트UVD<EncUVD>b64Data<string> b64SKey의 원본키로 암호화된 데이터b64SKey<string> b64Data 를 생성할때 사용하는 키seqNum<number> optional PIN Block 사용시 순서대로 사용되었는지 확인하기 위한 값. Multi Tx 요청시, 반드시 받은 PIN Block의 순서대로 사용해야 합니다.(1,2,3...)
otp<string> optional 사용자가 2FA(OTP) 를 활성화한 경우, 입력받은 OTP 코드
Example
const pinBlock = await wepinPin.generateAuthPINBlock(count)
// Sort seqNum of uvd in ascending order from 1 because I need to write it in order starting from 1
pinBlock.UVDs.sort((a, b) => (a.seqNum ?? 0) - (b.seqNum ?? 0))
const resArray: any[] = []
for (const encUVD of pinBlock.UVDs) {
await fetch({
url: 'https://sdk.wepin.io/v1/tx/sign',
method: 'POST',
body: {
userId: await getUserId(),
walletId: await getWalletId(),
accountId: (await getEthereumAccount()).accountId,
type: 'msg_sign',
txData: {
data: '0x0',
},
pin: encUVD,
otpCode: {
code: pinBlock.otp,
},
}
})
}generateChangePINBlock
await wepinPin.generateChangePINBlock()사용자 PIN 변경을 위해 PIN을 입력 받을 수 있는 핀 패드 화면을 띄우고 입력받은 PIN을 처리하여 PIN Block을 생성합니다.
사용자가 2FA(OTP)를 활성화한 경우에는, OTP 코드를 입력받을 수 있는 화면도 띄우고 처리합니다.
Parameters
<void>
Return Value
Promise<ChangePinBlock>UVD<EncUVD>b64Data<string> b64SKey의 원본키로 암호화된 데이터b64SKey<string> b64Data 를 생성할때 사용하는 키seqNum<number> optional PIN Block 사용시 순서대로 사용되었는지 확인하기 위한 값
newUVD<EncUVD>b64Data<string> b64SKey의 원본키로 암호화된 데이터b64SKey<string> b64Data 를 생성할때 사용하는 키seqNum<number> optional PIN Block 사용시 순서대로 사용되었는지 확인하기 위한 값.
hint<EncPinHint>data<string> PIN 힌트를 암호화한 값length<string> PIN 힌트의 길이version<number> PIN 힌트의 버전
otp<string> optional 사용자가 2FA(OTP) 를 활성화한 경우, 입력받은 OTP 코드
Example
const pinBlock = await wepinPin.generateChangePINBlock()
const res = await fetch({
url: 'https://sdk.wepin.io/v1/wallet/pin/change'
body: {
userId: await getUserId(),
walletId: await getWalletId(),
UVD: pinBlock.UVD,
newUVD: pinBlock.newUVD,
hint: pinBlock.hint,
otpCode: {
code: pinBlock.otp
}
}
})generateAuthOTP
await wepinPin.generateAuthOTP()사용자로부터 OTP 코드를 입력받을 수 있는 화면을 띄우고 처리합니다.
Parameters
<void>
Return Value
Promise<AuthOTP>code<string> 입력받은 OTP 코드
Example
let res = await getWepinSignMessage(pinBlocks.UVDs, pinBlock.otp)
if (res.body[0].message === 'OTP_MISMATCH_WRONG_CODE') {
const otp = await wepinPin.generateAuthOTP()
res = await getWepinSignMessage(pinBlocks.UVDs, otp.code)
}finalize
wepinPin.finalize()Wepin PIN Pad Library 사용을 종료합니다.
Parameters
<void>
Return Value
<void>
Example
wepinPin.finalize()Last updated
Was this helpful?