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

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

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