dcangulo / react-native-pkce-challenge

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

Home Page:https://www.npmjs.com/package/react-native-pkce-challenge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

https://www.npmjs.com/package/react-native-pkce-challenge

License:MIT License


Languages

Language:C++ 31.6%Language:Java 22.7%Language:JavaScript 11.2%Language:TypeScript 10.6%Language:Ruby 10.3%Language:Objective-C 7.2%Language:Objective-C++ 4.4%Language:CMake 1.5%Language:C 0.3%Language:Swift 0.2%