
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
@articulate/authentic
Advanced tools
Supply Chain Security
Quality
Maintenance
Vulnerabilities
License
Proper validation of JWT's against JWK's.
The process of validating JWT's against JWK's is quite involved, but at the end of the day, you probably have an auth server with a /.well-known/openid-configuration
endpoint, and you just want to know if an incoming JWT is valid. End of story. You don't want to fumble with parsing the JWT, matching kid
values, converting certs, or caching JWK's.
Now you don't need to. Initialize authentic
with an issWhitelist
, and you'll receive a function that accepts a JWT and validates it. The rest is handled for you.
authentic :: { k: v } -> String -> Promise Boom { k: v }
Initialize authentic
with an options object containing an issWhitelist
array listing the token.payload.iss
values you will accept. For example:
Provider | Sample issWhitelist |
---|---|
Auth0 | [ 'https://${tenant}.auth0.com/' ] |
Okta | [ 'https://${tenant}.oktapreview.com/oauth2/${appName}' ] |
Note: The urls in the list need to be exact matches of the payload.iss
values in your JWT's.
You'll receive a unary function which takes a JWT and returns a Promise
that resolves with the parsed JWT payload if it is valid, or rejects with a 401
Boom error if it is invalid.
const authentic = require('@articulate/authentic')({
issWhitelist: JSON.parse(process.env.ISS_WHITELIST)
})
const handler = req =>
authentic(req.cookies.token)
.then(/* the JWT has been validated */)
authentic
accepts a JSON object with the following options:
jwks
Object: options to forward to node-jwks-rsa
with the following defaults:option | default |
---|---|
cache | true |
rateLimit | true |
verify
Object: options to forward to jwt.verify
from jsonwebtoken
issWhitelist
Array: list of trusted OIDC issuersclaimsInError
Array: list of jwt payload claims to receive as the data
propery of the error when verification fails. When a list is not provided a data
property will not be added to the error.FAQs
Proper validation of JWT's against JWK's
The npm package @articulate/authentic receives a total of 0 weekly downloads. As such, @articulate/authentic popularity was classified as not popular.
We found that @articulate/authentic demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 87 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.