0.1.2-rc.2 • Published 1 month ago

react-native-jsonwebtoken v0.1.2-rc.2

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month ago

react-native-jsonwebtoken

NOTE: Currently, this library supports only ANDROID systems! For IOS, It is coming soon ... React Native component to verify the signature of a JWT string representation/token using public_key, generate a SecretKey, encrypt Data, ... Others features are coming soon.

Installation

# using npm
npm install react-native-jsonwebtoken 


# OR using Yarn
yarn add react-native-jsonwebtoken 

Prerequisites

Before start, please add this below config in app/build.grale to resolve conflict Android library

configurations {
    all {
        exclude group: 'org.bouncycastle', module: 'bcprov-jdk15to18'
    }
}

Usage

import { verifyToken, generateSecretKey, encryptData } from 'react-native-jsonwebtoken';

// Handle for verify token using a public_key

const result = verifyToken(TOKEN, PUBLIC_KEY)
      .then((verificationResult: boolean) => {
        console.log('Verification Result:', verificationResult);
        setResult('Token is valid');
      })
      .catch((error: ErrorWithMessage) => {
        console.error('Error verifying JWT:', error.message);
        setResult(`Error verifying JWT: ${error.message}`);
      });

// Generate a secret key by using generateSecretKey

const encryptionResult = generateSecretKey()
      .then((result: EncryptionResult) => {
        console.log("Generated Key:", result.key);
        console.log("Generated IV:", result.iv);
        setEncryptionResult(result)
      })
      .catch((error: ErrorWithMessage) => {
        console.error("Error generating secret key:", error.message);
        setEncryptionResult(`Error generating secret key: ${error.message}`)
      });

//Encrypted Data
const dataToEncrypt = JSON.stringify(data);
const encryptedData = encryptData(dataToEncrypt, PUBLIC_KEY)
      .then((encrypted: string) => {
        console.log('Encrypted Data:', encrypted);
        setEncryptedData(`Encrypted Data: ${encrypted}`)
      })
      .catch((error: ErrorWithMessage) => {
        console.error('Error encrypting data:', error.message);
        setEncryptedData(`Error encrypting data: ${error.message}`)
      });

Now what?

Troubleshooting

If you can't get this to work, see the Troubleshooting page.

Learn More

To learn more about React Native, take a look at the following resources:

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT


Made with create-react-native-library

0.1.2-rc.2

1 month ago

0.1.2-rc.1

1 month ago

0.1.1

1 month ago

0.1.0

1 month ago