@juspay/neurolink
Version:
The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002
26 lines (25 loc) • 825 B
JavaScript
/**
* Bridge between auth providers and NeuroLink's server middleware.
* Converts an auth provider's authenticateToken() into the validate
* callback expected by the existing createAuthMiddleware.
*/
/**
* Create a validate function for server auth middleware from an auth provider.
*/
export function createAuthValidatorFromProvider(provider) {
return async (token, ctx) => {
const result = await provider.authenticateToken(token, ctx);
if (!result.valid) {
return null;
}
if (result.user) {
return {
id: result.user.id,
email: result.user.email,
roles: result.user.roles,
};
}
// Fail closed: valid token without a resolved user is treated as failure
return null;
};
}