react-native-pkce-challenge
Version:
Proof Key for Code Exchange (PKCE) challenge generator for React Native
20 lines (15 loc) • 498 B
text/typescript
import { base64UrlEncode, generateChallenge } from './utils';
import generateRandomBytes from './generate-random-bytes';
import type { IChallenge } from './utils';
function generateVerifier(): string {
const bytes = generateRandomBytes();
return base64UrlEncode(bytes);
}
export default function pkceChallenge(): IChallenge {
const verifier = generateVerifier();
const challenge = generateChallenge(verifier);
return {
codeChallenge: challenge,
codeVerifier: verifier,
};
}