Skip to content

Repository files navigation

React Native PKCE Challenge

Package version MIT license PRs Welcome

Proof Key for Code Exchange (PKCE) challenge generator for React Native.

API Compatibility

Platform Support
iOS 🟢
Android 🟢
Web 🟢
Windows 🟡
macOS 🟢
Expo 🟢
Node.js 🟢

Installation

New Arch

yarn add react-native-pkce-challenge
npx pod-install

Old Arch

yarn add react-native-pkce-challenge@5.3.2
npx pod-install

Usage

Generate PKCE Challenge Pair

import pkceChallenge from 'react-native-pkce-challenge';

const challenge = pkceChallenge();

The constant challenge will hold an object like the following:

{
  codeChallenge: 'XsRstqNrXT76Iop3uMoyyCQmaGthJbKKJwXBSoQXaRk',
  codeVerifier: 'OZOHUwLddiPyTFJulnUYnU9jsf7oyULflbFpwj40bE9S77iaeisGvzvaVvvPE7oO-xaV4skxwKDFBBV7JofVNxCgUSauqUDVcVjggE4-M6zthVUmeUrSAHatmIBm_P0_'
}

Generate Challenge

import { generateChallenge } from 'react-native-pkce-challenge';

generateChallenge(challenge.codeVerifier) === challenge.codeChallenge; // true

Verify Challenge

import { verifyChallenge } from 'react-native-pkce-challenge';

verifyChallenge(challenge.codeVerifier, challenge.codeChallenge); // true
verifyChallenge(challenge.codeVerifier, 'invalid challenge'); // false

Upgrading

See UPGRADING.md

Changelogs

See CHANGELOGS.md

License

Copyright © 2024 David Angulo, released under the MIT license, see LICENSE.


Made with create-react-native-library

About

Proof Key for Code Exchange (PKCE) challenge generator for React Native.

Topics

Resources

Stars

36 stars

Watchers

3 watching

Forks

Releases

Sponsor this project

Contributors

Languages