Files
alighasami 3d5eaf9445
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
first commit
2026-03-17 16:22:57 +03:30

138 lines
2.1 KiB
TypeScript

import type { ICredentialType, INodeProperties, INodePropertyOptions, Icon } from 'n8n-workflow';
const algorithms: INodePropertyOptions[] = [
{
name: 'HS256',
value: 'HS256',
},
{
name: 'HS384',
value: 'HS384',
},
{
name: 'HS512',
value: 'HS512',
},
{
name: 'RS256',
value: 'RS256',
},
{
name: 'RS384',
value: 'RS384',
},
{
name: 'RS512',
value: 'RS512',
},
{
name: 'ES256',
value: 'ES256',
},
{
name: 'ES384',
value: 'ES384',
},
{
name: 'ES512',
value: 'ES512',
},
{
name: 'PS256',
value: 'PS256',
},
{
name: 'PS384',
value: 'PS384',
},
{
name: 'PS512',
value: 'PS512',
},
{
name: 'none',
value: 'none',
},
];
// eslint-disable-next-line n8n-nodes-base/cred-class-name-unsuffixed
export class JwtAuth implements ICredentialType {
// eslint-disable-next-line n8n-nodes-base/cred-class-field-name-unsuffixed
name = 'jwtAuth';
displayName = 'JWT Auth';
documentationUrl = 'jwt';
icon: Icon = 'file:icons/jwt.svg';
properties: INodeProperties[] = [
{
displayName: 'Key Type',
name: 'keyType',
type: 'options',
description: 'Choose either the secret passphrase or PEM encoded public keys',
options: [
{
name: 'Passphrase',
value: 'passphrase',
},
{
name: 'PEM Key',
value: 'pemKey',
},
],
default: 'passphrase',
},
{
displayName: 'Secret',
name: 'secret',
type: 'string',
typeOptions: {
password: true,
},
default: '',
displayOptions: {
show: {
keyType: ['passphrase'],
},
},
},
{
displayName: 'Private Key',
name: 'privateKey',
type: 'string',
typeOptions: {
password: true,
},
displayOptions: {
show: {
keyType: ['pemKey'],
},
},
default: '',
},
{
displayName: 'Public Key',
name: 'publicKey',
type: 'string',
typeOptions: {
password: true,
},
displayOptions: {
show: {
keyType: ['pemKey'],
},
},
default: '',
},
{
displayName: 'Algorithm',
name: 'algorithm',
type: 'options',
default: 'HS256',
options: algorithms,
},
];
}