UNPKG

dirigera

Version:

A TypeScript client for IKEA's DIRIGERA smart home hub

13 lines (12 loc) 535 B
import crypto from 'node:crypto'; const CODE_CHARACTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'.split(''); const CODE_LENGTH = 128; export const CODE_CHALLENGE_METHOD = 'S256'; export const generateCodeVerifier = () => { return [...Array(CODE_LENGTH)] .map(() => CODE_CHARACTERS[Math.floor(Math.random() * CODE_CHARACTERS.length)]) .join(''); }; export const calculateCodeChallenge = (codeVerifier) => { return crypto.createHash('sha256').update(codeVerifier).digest('base64url'); };