Merchant Integration Documentation(Backend Next JS Auth SDK)
A. OTPLessAuth Dependency
You can install the OTPLessAuth SDK using npm:
npm install otpless-next-js-auth-sdk
B. OTPLessAuth class
The OTPLessAuth
Next.js SDK is a powerful library that enables you to perform authentication using the OTPLess service. This SDK simplifies the integration of OTPLess authentication into your Next.js applications.
Methods:
1. Verify Auth Token
This method help to resolve token
which is issued by OTPLess
which return user detail
from that token also this method verify that token is valid, token should not expired and
issued by only otpless.com
Method Signature:
const userDetail = await verifyToken(token, clientId, clientSecret);
Method Params:
token | String | true | | token which you get from OTPLess |
clientId | String | true | | Your OTPLess Client Id |
clientSecret | String | true | | Your OTPLess Client Secret |
Return
Return:
Object Name: UserDetail
2. Decode IdToken
This method help to resolve idToken(JWT token)
which is issued by OTPLess
which return user detail
from that token also this method verify that token is valid, token should not expired and
issued by only otpless.com
Method Signature:
const userDetail = await decodeIdToken(
idToken,
clientId,
clientSecret
);
Method Params:
idToken | String | true | | idToken which is JWT token which you get from OTPLess by exchange code API |
clientId | String | true | | Your OTPLess Client Id |
clientSecret | String | true | | Your OTPLess Client Secret |
Return
Return:
Object Name: UserDetail
3. Verify Code
This method help to resolve code
which is return from OTPLess
which will return user detail
from that code also this method verify that code is valid, code should not expired and
issued by only otpless.com
Method Signature:
const userDetail = await verifyCode(code, clientId, clientSecret);
Method Params:
code | String | true | | code which you get from OTPLess |
clientId | String | true | | Your OTPLess Client Id |
clientSecret | String | true | | Your OTPLess Client Secret |
Return
Return:
Object Name: UserDetail
4. Magic Link
This method help to get magic link
which is return from OTPLess
which will return token
and request id from that mobile number or email id. Issued by only otpless.com
Method Signature:
const magicLinkTokens = await magicLink(mobile, email, redirectURI, clientId, clientSecret);
Method Params:
mobile | String | false | | Input by your user. |
email | String | false | | Input by your user. |
redirectURI | String | true | | Your redirectURI. |
channel | String | false | | WHATSAPP/SMS (if no channel given WHATSAPP is chosen as default) |
clientId | String | true | | Your OTPLess Client Id |
clientSecret | String | true | | Your OTPLess Client Secret |
Return
Return:
Object Name: magicLinkTokens
5. Send OTP
This method help to send OTP to your users and OTP issued by only otpless.com
Method Signature:
const response = await sendOTP(phoneNumber, email, channel, hash, orderId, expiry, otpLength, clientId, clientSecret);
Method Params:
phoneNumber | String | true | | Mobile Number of your users |
email | String | true | | Mail Id of your users |
channel | String | false | | WHATSAPP, SMS |
hash | String | true | | Your mobile application Hash |
orderId | String | true | | Unique Order id |
expiry | Int | false | | OTP expiry in sec |
otpLength | String | false | | Values like 6 or 4 |
clientId | String | true | | Your OTPLess Client Id |
clientSecret | String | true | | Your OTPLess Client Secret |
Return
success
(boolean): This will be true
in case of method successfully performed operation.
errorMessage
(String): The will be errorMessage in case of any error.
orderId
(String): This will be your Unique Order id.
refId
(String): The will be refId when OTP successfully send.
6. ReSend OTP
This method help to resend OTP to your users and OTP issued by only otpless.com
Method Signature:
const response = await resendOTP(orderId, clientId, clientSecret);
Method Params:
orderId | String | true | | Unique Order id(same as send method) |
clientId | String | true | | Your OTPLess Client Id |
clientSecret | String | true | | Your OTPLess Client Secret |
Return
success
(boolean): This will be true
in case of method successfully performed operation.
errorMessage
(String): The will be errorMessage in case of any error.
orderId
(String): This will be your Unique Order id.
refId
(String): The will be refId when OTP successfully send.
7. Verify OTP
This method help to Verify OTP to your users and OTP issued by only otpless.com
Method Signature:
const response = await verifyOTP(email, phoneNumber, orderId, otp, clientId, clientSecret);
Method Params:
email | String | true | | Mail Id of your users |
phoneNumber | String | true | | Mobile Number of your users |
orderId | String | true | | Unique Order id |
otp | String | true | | Enter otp here |
clientId | String | true | | Your OTPLess Client Id |
clientSecret | String | true | | Your OTPLess Client Secret |
Return
isOTPVerified
(boolean): This will be true
in case of OTP verified.
reason
(String): The will be errorMessage in case of OTP doesn't verified.
UserDetail Object Fields:
success
(boolean): This will be true
in case of method successfully performed operation.
authTime
(Long, required): The time when authentication was completed.
phoneNumber
(String, required): The user's phone number.
countryCode
(String, required): The country code of user's phone number.
nationalPhoneNumber
(String, required): The user's phone number without country code.
email
(String, required): The user's email address.
name
(String, required): The user's full name.
MagicLinkTokens Object Fields:
success
(boolean): This will be true
in case of method successfully performed operation.
requestIds
(List, required): List of Token and Type of AUth.
type
(String, required): Auth type.
value
(String, required): Token value.
Error case:
success
(boolean): This will be false
. The method is failed to perform.
errorMessage
(String): The message contains error information.
Example of usage
import { decodeIdToken } from 'otpless-next-js-auth-sdk';
const idToken = "...";
const clientId = "...";
const clientSecret = "...";
const userDetail = await decodeIdToken(idToken, clientId, clientSecret);
console.log("User Details:", userDetail);
This method allows you to decode and verify OTPLess tokens and retrieve user information for integration into your
next js application.