Skip to content

cavanierc/react-native-pkce-challenge

 
 

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

yarn add react-native-pkce-challenge
npx pod-install ios # iOS Only
npx pod-install macos # macOS Only

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 © 2023 David Angulo, released under the MIT license, see LICENSE.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 31.6%
  • Java 22.7%
  • JavaScript 11.2%
  • TypeScript 10.6%
  • Ruby 10.3%
  • Objective-C 7.2%
  • Other 6.4%