import { Turnkey } from "@turnkey/sdk-server";const turnkeyClient = new Turnkey({ apiBaseUrl: "https://api.turnkey.com", apiPublicKey: process.env.API_PUBLIC_KEY!, apiPrivateKey: process.env.API_PRIVATE_KEY!, defaultOrganizationId: process.env.ORGANIZATION_ID!,});const response = await turnkeyClient.apiClient().otpLogin({ verificationToken: "<string> (Signed Verification Token containing a unique id, expiry, verification type, contact)", publicKey: "<string> (Client-side public key generated by the user, used as the session public key upon successful login)", clientSignature: { // clientSignature field, publicKey: "<string> (The public component of a cryptographic key pair used to create the signature.)", scheme: "<CLIENT_SIGNATURE_SCHEME_API_P256>" // scheme field, message: "<string> (The message that was signed.)", signature: "<string> (The cryptographic signature over the message.)", }, expirationSeconds: "<string> (Expiration window (in seconds) indicating how long the Session is valid for. If not provided, a default of 15 minutes will be used.)", invalidateExisting: true // Invalidate all other previously generated Login sessions});
import { Turnkey } from "@turnkey/sdk-server";const turnkeyClient = new Turnkey({ apiBaseUrl: "https://api.turnkey.com", apiPublicKey: process.env.API_PUBLIC_KEY!, apiPrivateKey: process.env.API_PRIVATE_KEY!, defaultOrganizationId: process.env.ORGANIZATION_ID!,});const response = await turnkeyClient.apiClient().otpLogin({ verificationToken: "<string> (Signed Verification Token containing a unique id, expiry, verification type, contact)", publicKey: "<string> (Client-side public key generated by the user, used as the session public key upon successful login)", clientSignature: { // clientSignature field, publicKey: "<string> (The public component of a cryptographic key pair used to create the signature.)", scheme: "<CLIENT_SIGNATURE_SCHEME_API_P256>" // scheme field, message: "<string> (The message that was signed.)", signature: "<string> (The cryptographic signature over the message.)", }, expirationSeconds: "<string> (Expiration window (in seconds) indicating how long the Session is valid for. If not provided, a default of 15 minutes will be used.)", invalidateExisting: true // Invalidate all other previously generated Login sessions});