Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
hapi-auth-signi
Advanced tools
hapi authentication scheme for validating signed requests. Note that this plugin is not a substitute for a full blown production auth service.
'use strict';
const Hapi = require('@hapi/hapi');
const HapiAuthSignature = require('hapi-auth-signi');
const server = Hapi.server();
await server.register({
plugin: HapiAuthSignature,
options: {
tenants: [
{
secret: 'foo',
path: './public.pem',
algorithm: 'sha256',
format: 'base64',
authData: { credentials: { username: 'peterpluck' } }
}
]
}
});
server.route([
{
method: 'GET',
path: '/foo',
config: {
auth: 'signature',
handler (request, h) {
return request.auth;
}
}
}
]);
hapi-auth-signi
expects incoming requests to include an 'Authorization'
HTTP header of the following format:
Authorization: Signature signature
signature
can be created using the following Node.js code:
'use strict';
const Crypto = require('crypto');
const Fs = require('fs');
const privateKey = Fs.readFileSync('./path_to_private_key');
const signer = Crypto.createSign('sha256');
signer.update('secret');
const signature = signer.sign(privateKey, 'base64');
// signature is the value to include in your request
hapi-auth-signi
is a hapi plugin that exposes an authentication scheme named 'signature'
. An authentication strategy of the same name is also created. The plugin supports the following configuration options:
tenants
An object or array of objects defining the supported clients. Each tenant adheres to the following schema.
secret
(string) - The text that the client is expected to sign.key
(string or buffer) - The contents of a public key used to verify messages. Required if path
is not specified. Cannot be used with path
.path
(string) - The path to a public key file used to verify messages. Required if key
is not specified. Cannot be used with key
.algorithm
(string) - The algorithm name passed to Crypto.createVerify()
.format
(string) - The format of the signature passed to Verify.verify()
.authData
(object) - The result returned on successful authentication.The default strategy, 'signature'
uses the default settings described below. It is possible to create additional strategies by calling server.auth.strategy('your_strategy_name_here', 'signature', options)
with customized options.
authorizationType
A string representing the authorization type. This is expected to be the first part of the Authorization
HTTP header. Defaults to 'signature'
.
FAQs
hapi authentication scheme for validating signed requests
The npm package hapi-auth-signi receives a total of 3 weekly downloads. As such, hapi-auth-signi popularity was classified as not popular.
We found that hapi-auth-signi demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 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
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.