Sign Message SDK
signMessage allows you to generate a signature on a message.
To sign a message a user / an account would need to have to have been registered through Register using SDK flow.
Direct Authentication
Since you will be directly authenticating with DOA here, you don't need to go through authentication step. Here is a code sample:
import { Passport } from "@0xpass/passport";
import { stringToHex } from "viem";
import { Passport } from "@0xpass/passport";
import { KeySigner } from "@0xpass/key-signer";
const signer = new KeySigner(process.env.PRIVATE_KEY!, true);
const passport = new Passport({
scopeId: "insert_your_scope_id",
signer: signer,
allowSessions: false
});
const userInput {
username: "insert_registered_username_here"
userDisplayName: "insert_registered_user_display_name_here"
}
await passport.setupEncryption();
//This step is different for direct authentication
passport.setUserData(userInput)
// Generate a signature
const signature = await passport.signMessage(stringToHex("hello world!"));
console.log(signature);
signMessage Parameters
Parameter
Description
Example Values
message
The message you'd like to sign
68656c6c6f20776f726c64
(hex represenation of "hello world")
signMessage Response
A successful response will return the following, a signature of the signed message by the authenticated account.
{
"jsonrpc": "2.0",
"result": "signature_here",
"id": 1
}
Last updated