refactor: Enforce expanded sensitive inputs rules (no-changelog) (#6815)

* refactor: Enforce expanded sensitive inputs rules (no-changelog)

* refactor: Add extra exemption

* fix: Add setting to `sessionToken` fields

* fix: Restore for `hidden` fields

* fix: More edge case exemptions

* fix: One more
This commit is contained in:
Iván Ovejero 2023-08-01 13:08:25 +02:00 committed by GitHub
parent f5134adde5
commit dec19585bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
79 changed files with 101 additions and 91 deletions

View file

@ -50,7 +50,7 @@ module.exports = {
'n8n-nodes-base/cred-class-field-name-missing-oauth2': 'error', 'n8n-nodes-base/cred-class-field-name-missing-oauth2': 'error',
'n8n-nodes-base/cred-class-field-name-unsuffixed': 'error', 'n8n-nodes-base/cred-class-field-name-unsuffixed': 'error',
'n8n-nodes-base/cred-class-field-name-uppercase-first-char': 'error', 'n8n-nodes-base/cred-class-field-name-uppercase-first-char': 'error',
'n8n-nodes-base/cred-class-field-unobscured-sensitive-input': 'error', 'n8n-nodes-base/cred-class-field-type-options-password-missing': 'error',
'n8n-nodes-base/cred-class-name-missing-oauth2-suffix': 'error', 'n8n-nodes-base/cred-class-name-missing-oauth2-suffix': 'error',
'n8n-nodes-base/cred-class-name-unsuffixed': 'error', 'n8n-nodes-base/cred-class-name-unsuffixed': 'error',
'n8n-nodes-base/cred-filename-against-convention': 'error', 'n8n-nodes-base/cred-filename-against-convention': 'error',
@ -146,7 +146,7 @@ module.exports = {
'n8n-nodes-base/node-param-resource-with-plural-option': 'error', 'n8n-nodes-base/node-param-resource-with-plural-option': 'error',
'n8n-nodes-base/node-param-resource-without-no-data-expression': 'error', 'n8n-nodes-base/node-param-resource-without-no-data-expression': 'error',
'n8n-nodes-base/node-param-type-options-missing-from-limit': 'error', 'n8n-nodes-base/node-param-type-options-missing-from-limit': 'error',
'n8n-nodes-base/node-param-type-options-missing-from-password': 'error', 'n8n-nodes-base/node-param-type-options-password-missing': 'error',
}, },
}, },
], ],

View file

@ -21,6 +21,7 @@ export class Auth0ManagementApi implements ICredentialType {
type: 'hidden', type: 'hidden',
typeOptions: { typeOptions: {
expirable: true, expirable: true,
password: true,
}, },
default: '', default: '',
}, },

View file

@ -12,6 +12,7 @@ export class AutomizyApi implements ICredentialType {
displayName: 'API Token', displayName: 'API Token',
name: 'apiToken', name: 'apiToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -23,6 +23,7 @@ export class BeeminderApi implements ICredentialType {
displayName: 'Auth Token', displayName: 'Auth Token',
name: 'authToken', name: 'authToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -18,6 +18,7 @@ export class BitbucketApi implements ICredentialType {
displayName: 'App Password', displayName: 'App Password',
name: 'appPassword', name: 'appPassword',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -20,6 +20,7 @@ export class BitwardenApi implements ICredentialType {
displayName: 'Client Secret', displayName: 'Client Secret',
name: 'clientSecret', name: 'clientSecret',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {

View file

@ -12,6 +12,7 @@ export class BubbleApi implements ICredentialType {
displayName: 'API Token', displayName: 'API Token',
name: 'apiToken', name: 'apiToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {

View file

@ -19,6 +19,7 @@ export class CiscoUmbrellaApi implements ICredentialType {
displayName: 'Session Token', displayName: 'Session Token',
name: 'sessionToken', name: 'sessionToken',
type: 'hidden', type: 'hidden',
// eslint-disable-next-line n8n-nodes-base/cred-class-field-type-options-password-missing
typeOptions: { typeOptions: {
expirable: true, expirable: true,
}, },
@ -27,8 +28,8 @@ export class CiscoUmbrellaApi implements ICredentialType {
{ {
displayName: 'API Key', displayName: 'API Key',
name: 'apiKey', name: 'apiKey',
// eslint-disable-next-line n8n-nodes-base/cred-class-field-unobscured-sensitive-input
type: 'string', type: 'string',
typeOptions: { password: true },
required: true, required: true,
default: '', default: '',
}, },

View file

@ -17,6 +17,7 @@ export class CloudflareApi implements ICredentialType {
displayName: 'API Token', displayName: 'API Token',
name: 'apiToken', name: 'apiToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -21,6 +21,7 @@ export class ContentfulApi implements ICredentialType {
displayName: 'Content Delivery API Access Token', displayName: 'Content Delivery API Access Token',
name: 'ContentDeliveryaccessToken', name: 'ContentDeliveryaccessToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
description: description:
'Access token that has access to the space. Can be left empty if only Delivery API should be used.', 'Access token that has access to the space. Can be left empty if only Delivery API should be used.',
@ -29,6 +30,7 @@ export class ContentfulApi implements ICredentialType {
displayName: 'Content Preview API Access Token', displayName: 'Content Preview API Access Token',
name: 'ContentPreviewaccessToken', name: 'ContentPreviewaccessToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
description: description:
'Access token that has access to the space. Can be left empty if only Preview API should be used.', 'Access token that has access to the space. Can be left empty if only Preview API should be used.',

View file

@ -17,6 +17,7 @@ export class CortexApi implements ICredentialType {
displayName: 'API Key', displayName: 'API Key',
name: 'cortexApiKey', name: 'cortexApiKey',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {

View file

@ -19,6 +19,7 @@ export class CrowdStrikeOAuth2Api implements ICredentialType {
displayName: 'Session Token', displayName: 'Session Token',
name: 'sessionToken', name: 'sessionToken',
type: 'hidden', type: 'hidden',
// eslint-disable-next-line n8n-nodes-base/cred-class-field-type-options-password-missing
typeOptions: { typeOptions: {
expirable: true, expirable: true,
}, },

View file

@ -17,6 +17,7 @@ export class CustomerIoApi implements ICredentialType {
displayName: 'Tracking API Key', displayName: 'Tracking API Key',
name: 'trackingApiKey', name: 'trackingApiKey',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
description: 'Required for tracking API', description: 'Required for tracking API',
required: true, required: true,
@ -51,6 +52,7 @@ export class CustomerIoApi implements ICredentialType {
displayName: 'App API Key', displayName: 'App API Key',
name: 'appApiKey', name: 'appApiKey',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
description: 'Required for App API', description: 'Required for App API',
}, },

View file

@ -19,6 +19,7 @@ export class DemioApi implements ICredentialType {
displayName: 'API Secret', displayName: 'API Secret',
name: 'apiSecret', name: 'apiSecret',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -24,6 +24,7 @@ export class ERPNextApi implements ICredentialType {
displayName: 'API Secret', displayName: 'API Secret',
name: 'apiSecret', name: 'apiSecret',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {

View file

@ -14,6 +14,7 @@ export class FacebookGraphAppApi implements ICredentialType {
displayName: 'App Secret', displayName: 'App Secret',
name: 'appSecret', name: 'appSecret',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
description: description:
'(Optional) When the app secret is set the node will verify this signature to validate the integrity and origin of the payload', '(Optional) When the app secret is set the node will verify this signature to validate the integrity and origin of the payload',

View file

@ -16,6 +16,7 @@ export class GoogleAdsOAuth2Api implements ICredentialType {
displayName: 'Developer Token', displayName: 'Developer Token',
name: 'developerToken', name: 'developerToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
required: true, required: true,
}, },

View file

@ -51,6 +51,7 @@ export class HaloPSAApi implements ICredentialType {
displayName: 'Client Secret', displayName: 'Client Secret',
name: 'client_secret', name: 'client_secret',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
required: true, required: true,
description: 'Must be your application client secret', description: 'Must be your application client secret',

View file

@ -17,6 +17,7 @@ export class HubspotAppToken implements ICredentialType {
displayName: 'APP Token', displayName: 'APP Token',
name: 'appToken', name: 'appToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -25,12 +25,14 @@ export class InvoiceNinjaApi implements ICredentialType {
displayName: 'API Token', displayName: 'API Token',
name: 'apiToken', name: 'apiToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {
displayName: 'Secret', displayName: 'Secret',
name: 'secret', name: 'secret',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
hint: 'This is optional, enter only if you did set a secret in your app and only if you are using v5', hint: 'This is optional, enter only if you did set a secret in your app and only if you are using v5',
}, },

View file

@ -24,6 +24,7 @@ export class JiraSoftwareCloudApi implements ICredentialType {
displayName: 'API Token', displayName: 'API Token',
name: 'apiToken', name: 'apiToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {

View file

@ -12,6 +12,7 @@ export class KitemakerApi implements ICredentialType {
displayName: 'Personal Access Token', displayName: 'Personal Access Token',
name: 'personalAccessToken', name: 'personalAccessToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -24,6 +24,7 @@ export class MailjetEmailApi implements ICredentialType {
displayName: 'Secret Key', displayName: 'Secret Key',
name: 'secretKey', name: 'secretKey',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {

View file

@ -17,6 +17,7 @@ export class MailjetSmsApi implements ICredentialType {
displayName: 'Token', displayName: 'Token',
name: 'token', name: 'token',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -47,6 +47,7 @@ export class MediumOAuth2Api implements ICredentialType {
displayName: 'Client Secret', displayName: 'Client Secret',
name: 'clientSecret', name: 'clientSecret',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
required: true, required: true,
}, },

View file

@ -12,6 +12,7 @@ export class MessageBirdApi implements ICredentialType {
displayName: 'API Key', displayName: 'API Key',
name: 'accessKey', name: 'accessKey',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -19,6 +19,7 @@ export class MetabaseApi implements ICredentialType {
displayName: 'Session Token', displayName: 'Session Token',
name: 'sessionToken', name: 'sessionToken',
type: 'hidden', type: 'hidden',
// eslint-disable-next-line n8n-nodes-base/cred-class-field-type-options-password-missing
typeOptions: { typeOptions: {
expirable: true, expirable: true,
}, },

View file

@ -15,12 +15,14 @@ export class MoceanApi implements ICredentialType {
displayName: 'API Key', displayName: 'API Key',
name: 'mocean-api-key', name: 'mocean-api-key',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {
displayName: 'API Secret', displayName: 'API Secret',
name: 'mocean-api-secret', name: 'mocean-api-secret',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -12,6 +12,7 @@ export class MondayComApi implements ICredentialType {
displayName: 'Token V2', displayName: 'Token V2',
name: 'apiToken', name: 'apiToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -40,6 +40,7 @@ export class MonicaCrmApi implements ICredentialType {
displayName: 'API Token', displayName: 'API Token',
name: 'apiToken', name: 'apiToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -13,6 +13,7 @@ export class Msg91Api implements ICredentialType {
displayName: 'Authentication Key', displayName: 'Authentication Key',
name: 'authkey', name: 'authkey',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -12,6 +12,7 @@ export class NasaApi implements ICredentialType {
displayName: 'API Key', displayName: 'API Key',
name: 'api_key', name: 'api_key',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -12,6 +12,7 @@ export class NocoDb implements ICredentialType {
displayName: 'User Token', displayName: 'User Token',
name: 'apiToken', name: 'apiToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {

View file

@ -17,6 +17,7 @@ export class NocoDbApiToken implements ICredentialType {
displayName: 'API Token', displayName: 'API Token',
name: 'apiToken', name: 'apiToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {

View file

@ -28,6 +28,7 @@ export class OAuth1Api implements ICredentialType {
displayName: 'Consumer Key', displayName: 'Consumer Key',
name: 'consumerKey', name: 'consumerKey',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
required: true, required: true,
}, },
@ -35,6 +36,7 @@ export class OAuth1Api implements ICredentialType {
displayName: 'Consumer Secret', displayName: 'Consumer Secret',
name: 'consumerSecret', name: 'consumerSecret',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
required: true, required: true,
}, },

View file

@ -12,6 +12,7 @@ export class OneSimpleApi implements ICredentialType {
displayName: 'API Token', displayName: 'API Token',
name: 'apiToken', name: 'apiToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -12,6 +12,7 @@ export class PagerDutyApi implements ICredentialType {
displayName: 'API Token', displayName: 'API Token',
name: 'apiToken', name: 'apiToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -18,6 +18,7 @@ export class PayPalApi implements ICredentialType {
displayName: 'Secret', displayName: 'Secret',
name: 'secret', name: 'secret',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {

View file

@ -12,6 +12,7 @@ export class PipedriveApi implements ICredentialType {
displayName: 'API Token', displayName: 'API Token',
name: 'apiToken', name: 'apiToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -18,6 +18,7 @@ export class PlivoApi implements ICredentialType {
displayName: 'Auth Token', displayName: 'Auth Token',
name: 'authToken', name: 'authToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -17,6 +17,7 @@ export class PostmarkApi implements ICredentialType {
displayName: 'Server API Token', displayName: 'Server API Token',
name: 'serverToken', name: 'serverToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -20,6 +20,7 @@ export class QuickBaseApi implements ICredentialType {
displayName: 'User Token', displayName: 'User Token',
name: 'userToken', name: 'userToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
required: true, required: true,
}, },

View file

@ -23,6 +23,7 @@ export class RocketchatApi implements ICredentialType {
displayName: 'Auth Key', displayName: 'Auth Key',
name: 'authKey', name: 'authKey',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {

View file

@ -24,6 +24,7 @@ export class RundeckApi implements ICredentialType {
displayName: 'Token', displayName: 'Token',
name: 'token', name: 'token',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -12,6 +12,7 @@ export class SalesmateApi implements ICredentialType {
displayName: 'Session Token', displayName: 'Session Token',
name: 'sessionToken', name: 'sessionToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {

View file

@ -52,6 +52,7 @@ export class SeaTableApi implements ICredentialType {
displayName: 'API Token (of a Base)', displayName: 'API Token (of a Base)',
name: 'token', name: 'token',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {

View file

@ -17,6 +17,7 @@ export class SegmentApi implements ICredentialType {
displayName: 'Write Key', displayName: 'Write Key',
name: 'writekey', name: 'writekey',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -12,6 +12,7 @@ export class SentryIoApi implements ICredentialType {
displayName: 'Token', displayName: 'Token',
name: 'token', name: 'token',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -12,6 +12,7 @@ export class SentryIoServerApi implements ICredentialType {
displayName: 'Token', displayName: 'Token',
name: 'token', name: 'token',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {

View file

@ -42,6 +42,7 @@ export class Sftp implements ICredentialType {
displayName: 'Private Key', displayName: 'Private Key',
name: 'privateKey', name: 'privateKey',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
description: description:
'String that contains a private key for either key-based or hostbased user authentication (OpenSSH format)', 'String that contains a private key for either key-based or hostbased user authentication (OpenSSH format)',

View file

@ -34,6 +34,7 @@ export class ShopifyAccessTokenApi implements ICredentialType {
name: 'appSecretKey', name: 'appSecretKey',
required: true, required: true,
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
description: 'Secret key needed to verify the webhook when using Shopify Trigger node', description: 'Secret key needed to verify the webhook when using Shopify Trigger node',
}, },

View file

@ -43,6 +43,7 @@ export class ShopifyApi implements ICredentialType {
displayName: 'Shared Secret', displayName: 'Shared Secret',
name: 'sharedSecret', name: 'sharedSecret',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -12,6 +12,7 @@ export class Signl4Api implements ICredentialType {
displayName: 'Team Secret', displayName: 'Team Secret',
name: 'teamSecret', name: 'teamSecret',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
description: 'The team secret is the last part of your SIGNL4 webhook URL', description: 'The team secret is the last part of your SIGNL4 webhook URL',
}, },

View file

@ -12,6 +12,7 @@ export class SplunkApi implements ICredentialType {
displayName: 'Auth Token', displayName: 'Auth Token',
name: 'authToken', name: 'authToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {

View file

@ -17,6 +17,7 @@ export class StripeApi implements ICredentialType {
displayName: 'Secret Key', displayName: 'Secret Key',
name: 'secretKey', name: 'secretKey',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -34,6 +34,7 @@ export class SurveyMonkeyApi implements ICredentialType {
displayName: 'Client Secret', displayName: 'Client Secret',
name: 'clientSecret', name: 'clientSecret',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -12,6 +12,7 @@ export class TravisCiApi implements ICredentialType {
displayName: 'API Token', displayName: 'API Token',
name: 'apiToken', name: 'apiToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -26,6 +26,7 @@ export class TrelloApi implements ICredentialType {
displayName: 'API Token', displayName: 'API Token',
name: 'apiToken', name: 'apiToken',
type: 'string', type: 'string',
typeOptions: { password: true },
required: true, required: true,
default: '', default: '',
}, },
@ -33,6 +34,7 @@ export class TrelloApi implements ICredentialType {
displayName: 'OAuth Secret', displayName: 'OAuth Secret',
name: 'oauthSecret', name: 'oauthSecret',
type: 'hidden', type: 'hidden',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -17,6 +17,7 @@ export class TwakeCloudApi implements ICredentialType {
displayName: 'Workspace Key', displayName: 'Workspace Key',
name: 'workspaceKey', name: 'workspaceKey',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -24,6 +24,7 @@ export class TwakeServerApi implements ICredentialType {
displayName: 'Private API Key', displayName: 'Private API Key',
name: 'privateApiKey', name: 'privateApiKey',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -34,6 +34,7 @@ export class TwilioApi implements ICredentialType {
displayName: 'Auth Token', displayName: 'Auth Token',
name: 'authToken', name: 'authToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
displayOptions: { displayOptions: {
show: { show: {
@ -45,6 +46,7 @@ export class TwilioApi implements ICredentialType {
displayName: 'API Key SID', displayName: 'API Key SID',
name: 'apiKeySid', name: 'apiKeySid',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
displayOptions: { displayOptions: {
show: { show: {

View file

@ -53,6 +53,7 @@ export class VenafiTlsProtectDatacenterApi implements ICredentialType {
displayName: 'Access Token', displayName: 'Access Token',
name: 'token', name: 'token',
type: 'hidden', type: 'hidden',
// eslint-disable-next-line n8n-nodes-base/cred-class-field-type-options-password-missing
typeOptions: { typeOptions: {
expirable: true, expirable: true,
}, },

View file

@ -12,6 +12,7 @@ export class VeroApi implements ICredentialType {
displayName: 'Auth Token', displayName: 'Auth Token',
name: 'authToken', name: 'authToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -19,6 +19,7 @@ export class VonageApi implements ICredentialType {
displayName: 'API Secret', displayName: 'API Secret',
name: 'apiSecret', name: 'apiSecret',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
]; ];

View file

@ -41,6 +41,7 @@ export class WekanApi implements ICredentialType {
displayName: 'Session Token', displayName: 'Session Token',
name: 'token', name: 'token',
type: 'hidden', type: 'hidden',
// eslint-disable-next-line n8n-nodes-base/cred-class-field-type-options-password-missing
typeOptions: { typeOptions: {
expirable: true, expirable: true,
}, },

View file

@ -12,6 +12,7 @@ export class WiseApi implements ICredentialType {
displayName: 'API Token', displayName: 'API Token',
name: 'apiToken', name: 'apiToken',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {
@ -34,6 +35,7 @@ export class WiseApi implements ICredentialType {
displayName: 'Private Key (Optional)', displayName: 'Private Key (Optional)',
name: 'privateKey', name: 'privateKey',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
description: description:
'Optional private key used for Strong Customer Authentication (SCA). Only needed to retrieve statements, and execute transfers.', 'Optional private key used for Strong Customer Authentication (SCA). Only needed to retrieve statements, and execute transfers.',

View file

@ -18,12 +18,14 @@ export class WooCommerceApi implements ICredentialType {
displayName: 'Consumer Key', displayName: 'Consumer Key',
name: 'consumerKey', name: 'consumerKey',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {
displayName: 'Consumer Secret', displayName: 'Consumer Secret',
name: 'consumerSecret', name: 'consumerSecret',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
{ {

View file

@ -54,6 +54,7 @@ export class ZendeskOAuth2Api implements ICredentialType {
displayName: 'Client Secret', displayName: 'Client Secret',
name: 'clientSecret', name: 'clientSecret',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
required: true, required: true,
}, },

View file

@ -167,6 +167,7 @@ export const meetingFields: INodeProperties[] = [
{ {
displayName: 'Exclude Password', displayName: 'Exclude Password',
name: 'excludePassword', name: 'excludePassword',
// eslint-disable-next-line n8n-nodes-base/node-param-type-options-password-missing
type: 'boolean', type: 'boolean',
default: false, default: false,
description: 'Whether or not to exclude password from the meeting email invitation', description: 'Whether or not to exclude password from the meeting email invitation',
@ -746,6 +747,7 @@ export const meetingFields: INodeProperties[] = [
{ {
displayName: 'Exclude Password', displayName: 'Exclude Password',
name: 'excludePassword', name: 'excludePassword',
// eslint-disable-next-line n8n-nodes-base/node-param-type-options-password-missing
type: 'boolean', type: 'boolean',
default: false, default: false,
description: 'Whether or not to exclude password from the meeting email invitation', description: 'Whether or not to exclude password from the meeting email invitation',

View file

@ -277,6 +277,7 @@ export class Crypto implements INodeType {
}, },
}, },
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
required: true, required: true,
}, },

View file

@ -104,6 +104,7 @@ export const connectorFields: INodeProperties[] = [
name: 'apiToken', name: 'apiToken',
description: 'Jira API token', description: 'Jira API token',
type: 'string', type: 'string',
typeOptions: { password: true },
required: true, required: true,
default: '', default: '',
displayOptions: { displayOptions: {
@ -165,6 +166,7 @@ export const connectorFields: INodeProperties[] = [
name: 'apiKeyId', name: 'apiKeyId',
description: 'IBM Resilient API key ID', description: 'IBM Resilient API key ID',
type: 'string', type: 'string',
typeOptions: { password: true },
required: true, required: true,
default: '', default: '',
displayOptions: { displayOptions: {
@ -180,6 +182,7 @@ export const connectorFields: INodeProperties[] = [
name: 'apiKeySecret', name: 'apiKeySecret',
description: 'IBM Resilient API key secret', description: 'IBM Resilient API key secret',
type: 'string', type: 'string',
typeOptions: { password: true },
required: true, required: true,
default: '', default: '',
displayOptions: { displayOptions: {

View file

@ -145,6 +145,7 @@ export const webinarFields: INodeProperties[] = [
{ {
displayName: 'Is Password Protected', displayName: 'Is Password Protected',
name: 'isPasswordProtected', name: 'isPasswordProtected',
// eslint-disable-next-line n8n-nodes-base/node-param-type-options-password-missing
type: 'boolean', type: 'boolean',
default: false, default: false,
}, },
@ -406,6 +407,7 @@ export const webinarFields: INodeProperties[] = [
{ {
displayName: 'Is Password Protected', displayName: 'Is Password Protected',
name: 'isPasswordProtected', name: 'isPasswordProtected',
// eslint-disable-next-line n8n-nodes-base/node-param-type-options-password-missing
type: 'boolean', type: 'boolean',
default: false, default: false,
description: 'Whether the webinar requires a password for attendees to join', description: 'Whether the webinar requires a password for attendees to join',

View file

@ -157,6 +157,7 @@ export const userFields: INodeProperties[] = [
{ {
displayName: 'Change Password At Next Login', displayName: 'Change Password At Next Login',
name: 'changePasswordAtNextLogin', name: 'changePasswordAtNextLogin',
// eslint-disable-next-line n8n-nodes-base/node-param-type-options-password-missing
type: 'boolean', type: 'boolean',
default: false, default: false,
description: 'Whether the user is forced to change their password at next login', description: 'Whether the user is forced to change their password at next login',
@ -682,6 +683,7 @@ export const userFields: INodeProperties[] = [
{ {
displayName: 'Change Password At Next Login', displayName: 'Change Password At Next Login',
name: 'changePasswordAtNextLogin', name: 'changePasswordAtNextLogin',
// eslint-disable-next-line n8n-nodes-base/node-param-type-options-password-missing
type: 'boolean', type: 'boolean',
default: false, default: false,
description: 'Whether the user is forced to change their password at next login', description: 'Whether the user is forced to change their password at next login',

View file

@ -184,6 +184,7 @@ export const userFields: INodeProperties[] = [
displayName: 'Password', displayName: 'Password',
name: 'user_password', name: 'user_password',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
description: "The user's password", description: "The user's password",
}, },
@ -617,6 +618,7 @@ export const userFields: INodeProperties[] = [
displayName: 'Password', displayName: 'Password',
name: 'user_password', name: 'user_password',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
description: "The user's password", description: "The user's password",
}, },

View file

@ -57,6 +57,7 @@ export const customerCardFields: INodeProperties[] = [
displayName: 'Card Token', displayName: 'Card Token',
name: 'token', name: 'token',
type: 'string', type: 'string',
typeOptions: { password: true },
required: true, required: true,
default: '', default: '',
placeholder: 'tok_1IMfKdJhRTnqS5TKQVG1LI9o', placeholder: 'tok_1IMfKdJhRTnqS5TKQVG1LI9o',

View file

@ -385,6 +385,7 @@ export const monitorFields: INodeProperties[] = [
displayName: 'HTTP Password', displayName: 'HTTP Password',
name: 'http_password', name: 'http_password',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
description: 'The password used for password-protected web pages', description: 'The password used for password-protected web pages',
}, },

View file

@ -654,6 +654,7 @@ export const certificateFields: INodeProperties[] = [
displayName: 'Keystore Password', displayName: 'Keystore Password',
name: 'KeystorePassword', name: 'KeystorePassword',
type: 'string', type: 'string',
typeOptions: { password: true },
default: '', default: '',
}, },
], ],

View file

@ -803,7 +803,7 @@
"@types/tmp": "^0.2.0", "@types/tmp": "^0.2.0",
"@types/uuid": "^8.3.2", "@types/uuid": "^8.3.2",
"@types/xml2js": "^0.4.11", "@types/xml2js": "^0.4.11",
"eslint-plugin-n8n-nodes-base": "^1.12.0", "eslint-plugin-n8n-nodes-base": "^1.15.0",
"gulp": "^4.0.0", "gulp": "^4.0.0",
"n8n-core": "workspace:*" "n8n-core": "workspace:*"
}, },

View file

@ -1,4 +1,4 @@
lockfileVersion: '6.1' lockfileVersion: '6.0'
settings: settings:
autoInstallPeers: true autoInstallPeers: true
@ -1243,8 +1243,8 @@ importers:
specifier: ^0.4.11 specifier: ^0.4.11
version: 0.4.11 version: 0.4.11
eslint-plugin-n8n-nodes-base: eslint-plugin-n8n-nodes-base:
specifier: ^1.12.0 specifier: ^1.15.0
version: 1.12.0(eslint@8.45.0)(typescript@5.1.6) version: 1.15.0(eslint@8.45.0)(typescript@5.1.6)
gulp: gulp:
specifier: ^4.0.0 specifier: ^4.0.0
version: 4.0.2 version: 4.0.2
@ -6485,10 +6485,6 @@ packages:
resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==}
dev: true dev: true
/@types/semver@7.3.13:
resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==}
dev: true
/@types/semver@7.5.0: /@types/semver@7.5.0:
resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==}
dev: true dev: true
@ -6793,14 +6789,6 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/scope-manager@5.45.0:
resolution: {integrity: sha512-noDMjr87Arp/PuVrtvN3dXiJstQR1+XlQ4R1EvzG+NMgXi8CuMCXpb8JqNtFHKceVSQ985BZhfRdowJzbv4yKw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.45.0
'@typescript-eslint/visitor-keys': 5.45.0
dev: true
/@typescript-eslint/scope-manager@5.59.5: /@typescript-eslint/scope-manager@5.59.5:
resolution: {integrity: sha512-jVecWwnkX6ZgutF+DovbBJirZcAxgxC0EOHYt/niMROf8p4PwxxG32Qdhj/iIQQIuOflLjNkxoXyArkcIP7C3A==} resolution: {integrity: sha512-jVecWwnkX6ZgutF+DovbBJirZcAxgxC0EOHYt/niMROf8p4PwxxG32Qdhj/iIQQIuOflLjNkxoXyArkcIP7C3A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@ -6857,11 +6845,6 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/types@5.45.0:
resolution: {integrity: sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/@typescript-eslint/types@5.59.5: /@typescript-eslint/types@5.59.5:
resolution: {integrity: sha512-xkfRPHbqSH4Ggx4eHRIO/eGL8XL4Ysb4woL8c87YuAo8Md7AUjyWKa9YMwTL519SyDPrfEgKdewjkxNCVeJW7w==} resolution: {integrity: sha512-xkfRPHbqSH4Ggx4eHRIO/eGL8XL4Ysb4woL8c87YuAo8Md7AUjyWKa9YMwTL519SyDPrfEgKdewjkxNCVeJW7w==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@ -6872,27 +6855,6 @@ packages:
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
dev: true dev: true
/@typescript-eslint/typescript-estree@5.45.0(typescript@5.1.6):
resolution: {integrity: sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@typescript-eslint/types': 5.45.0
'@typescript-eslint/visitor-keys': 5.45.0
debug: 4.3.4(supports-color@8.1.1)
globby: 11.1.0
is-glob: 4.0.3
semver: 7.5.4
tsutils: 3.21.0(typescript@5.1.6)
typescript: 5.1.6
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/typescript-estree@5.59.5(typescript@5.1.6): /@typescript-eslint/typescript-estree@5.59.5(typescript@5.1.6):
resolution: {integrity: sha512-+XXdLN2CZLZcD/mO7mQtJMvCkzRfmODbeSKuMY/yXbGkzvA9rJyDY5qDYNoiz2kP/dmyAxXquL2BvLQLJFPQIg==} resolution: {integrity: sha512-+XXdLN2CZLZcD/mO7mQtJMvCkzRfmODbeSKuMY/yXbGkzvA9rJyDY5qDYNoiz2kP/dmyAxXquL2BvLQLJFPQIg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@ -6935,26 +6897,6 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/utils@5.45.0(eslint@8.45.0)(typescript@5.1.6):
resolution: {integrity: sha512-OUg2JvsVI1oIee/SwiejTot2OxwU8a7UfTFMOdlhD2y+Hl6memUSL4s98bpUTo8EpVEr0lmwlU7JSu/p2QpSvA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
'@types/json-schema': 7.0.12
'@types/semver': 7.3.13
'@typescript-eslint/scope-manager': 5.45.0
'@typescript-eslint/types': 5.45.0
'@typescript-eslint/typescript-estree': 5.45.0(typescript@5.1.6)
eslint: 8.45.0
eslint-scope: 5.1.1
eslint-utils: 3.0.0(eslint@8.45.0)
semver: 7.5.4
transitivePeerDependencies:
- supports-color
- typescript
dev: true
/@typescript-eslint/utils@5.59.5(eslint@8.45.0)(typescript@5.1.6): /@typescript-eslint/utils@5.59.5(eslint@8.45.0)(typescript@5.1.6):
resolution: {integrity: sha512-sCEHOiw+RbyTii9c3/qN74hYDPNORb8yWCoPLmB7BIflhplJ65u2PBpdRla12e3SSTJ2erRkPjz7ngLHhUegxA==} resolution: {integrity: sha512-sCEHOiw+RbyTii9c3/qN74hYDPNORb8yWCoPLmB7BIflhplJ65u2PBpdRla12e3SSTJ2erRkPjz7ngLHhUegxA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@ -6994,14 +6936,6 @@ packages:
- typescript - typescript
dev: true dev: true
/@typescript-eslint/visitor-keys@5.45.0:
resolution: {integrity: sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.45.0
eslint-visitor-keys: 3.4.1
dev: true
/@typescript-eslint/visitor-keys@5.59.5: /@typescript-eslint/visitor-keys@5.59.5:
resolution: {integrity: sha512-qL+Oz+dbeBRTeyJTIy0eniD3uvqU7x+y1QceBismZ41hd4aBSRh8UAw4pZP0+XzLuPZmx4raNMq/I+59W2lXKA==} resolution: {integrity: sha512-qL+Oz+dbeBRTeyJTIy0eniD3uvqU7x+y1QceBismZ41hd4aBSRh8UAw4pZP0+XzLuPZmx4raNMq/I+59W2lXKA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@ -10877,10 +10811,10 @@ packages:
resolution: {integrity: sha512-qe6sVFDP1Vj5eXlqZxYZpIjwYvhuqXlI0P8OfPyhiPOhMkFtr0TpFphD8/6WCzkm7LJCvG1eJEzURCtMIsFTAg==} resolution: {integrity: sha512-qe6sVFDP1Vj5eXlqZxYZpIjwYvhuqXlI0P8OfPyhiPOhMkFtr0TpFphD8/6WCzkm7LJCvG1eJEzURCtMIsFTAg==}
dev: true dev: true
/eslint-plugin-n8n-nodes-base@1.12.0(eslint@8.45.0)(typescript@5.1.6): /eslint-plugin-n8n-nodes-base@1.15.0(eslint@8.45.0)(typescript@5.1.6):
resolution: {integrity: sha512-AotXR6IsxLNnxp4OxhD33xcmRFwVq7ZImBd0mTgpirV3VX8pCJDdiDlI2zCAICcICZxtOdbVtHOMhhnMjTh71A==} resolution: {integrity: sha512-eyKoX4Is4ImJo9YiPm+e7SOshVh8iBamZ8knqz8pxWnpCTpYNxVnxc9TeR+zQf9qZDELWit4GIXDi0uPOczhXQ==}
dependencies: dependencies:
'@typescript-eslint/utils': 5.45.0(eslint@8.45.0)(typescript@5.1.6) '@typescript-eslint/utils': 5.59.5(eslint@8.45.0)(typescript@5.1.6)
camel-case: 4.1.2 camel-case: 4.1.2
indefinite: 2.4.1 indefinite: 2.4.1
pascal-case: 3.1.2 pascal-case: 3.1.2
@ -10994,21 +10928,6 @@ packages:
estraverse: 5.3.0 estraverse: 5.3.0
dev: true dev: true
/eslint-utils@3.0.0(eslint@8.45.0):
resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
peerDependencies:
eslint: '>=5'
dependencies:
eslint: 8.45.0
eslint-visitor-keys: 2.1.0
dev: true
/eslint-visitor-keys@2.1.0:
resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
engines: {node: '>=10'}
dev: true
/eslint-visitor-keys@3.4.0: /eslint-visitor-keys@3.4.0:
resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}