npm i siws
import { SiwsMessage } from "siws";
const message = new SiwsMessage({
domain: window.location.host,
address: walletAddress,
statement: "Use SIWS to authenticate",
});
const preparedMessage = message.prepare()
const signedMessage = await solana.signMessage(preparedMessage);
const token = message.token(signedMessage.signature);
const { SiwsMessage } = require("siws");
const token = request.header("Authorization");
const siwsMessage = new SiwsMessage({}).decode(token);
{
domain: 'localhost:3000',
address: '<address>',
statement: 'Use SIWS to authenticate',
message: 'localhost:3000 wants you to sign in with your Solana account:\n' +
'<address>\n' +
'\n' +
'Use SIWS to authenticate.\n' +
'\n' +
'Nonce: <nonce>\n' +
'Issued At: Fri Feb 18 2022 4:20:00 GMT-0700 (Mountain Standard Time)',
signature: '<signature>'
}
const validated = siwsMessage.validate();