Collection of methods and helpers for usage interfacing with Kinde
# npm
npm install @kinde/js-utils
# yarn
yarn add @kinde/js-utils
# pnpm
pnpm install @kinde/js-utils
base64UrlEncode
- creates a base64 encoding of a string
sanitizeRedirect
- removes any trailing spaces from end of redirect URL
mapLoginMethodParamsForUrl
- Maps all the login options to their relevant url query param
generateAuthUrl
- builds a authentication URL to redirect users to start auth flow
extractAuthResults
- Extracts tokens and expiry from implcit flow response
generateRandomString
- Generates a random sring of a defined length
exports storageSettings
which can be used to configure the storage methods.
{
"keyPrefix": "kinde-", // Prefix to be used on all storage items
"maxLength": 2000 // Max length of storage block, will auto split into separate chunks if needed
}
MemoryStorage
- This holds the data in a simple memory store
ChromeStore
- This holds the data in chrome.store.local for use with Google Chrome extensions.
ExpoSecureStore
- Secure storage for Expo apps
LocalStorage
- For using localStorage Note: do not use for sensitive data
Linking in with the activeStorage, a number of token helpers are available.
setActiveStorage
- set the active storage manager
getActiveStorage
- get the current active storage manager
getClaim
- Get a single claim from the Access Token
getClaims
- Get all claims from the Access Token
getCurrentOrganization
- get the current authenticated organisation
getDecodedToken
- get the decoded id or access token
getFlag
- get a single feature flag
getPermission
- get a single permission value
getPermissions
- get all user permissions
getRoles
- get all the users roles
getUserOrganizations
- get all the organizations the user has access to
getUserProfile
- get the profile of the user from the ID token
Kinde Documentation - Explore the Kinde docs
If you'd like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch.
- Make your changes.
- Submit a pull request.
By contributing to Kinde, you agree that your contributions will be licensed under its MIT License.