Skip to content

Latest commit

 

History

History
191 lines (160 loc) · 3.46 KB

node-param-type-options-password-missing.md

File metadata and controls

191 lines (160 loc) · 3.46 KB

node-param-type-options-password-missing

In a sensitive string-type parameter, typeOptions.password must be set to true to obscure the input. A node parameter name is sensitive if it contains the strings: secret,password,token,apiKey. See exceptions in source.

📋 This rule is part of the plugin:n8n-nodes-base/nodes config.

🔧 Run ESLint with --fix option to autofix the issue flagged by this rule.

Examples

❌ Example of incorrect code:

const test = {
	displayName: "Some Display Name",
	name: "secret",
	type: "string",
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "password",
	type: "string",
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "token",
	type: "string",
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "apiKey",
	type: "string",
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "appPassword",
	type: "string",
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "clientSecret",
	type: "string",
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "accessToken",
	type: "string",
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "secret",
	type: "string",
	typeOptions: { someOption: true },
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "password",
	type: "string",
	typeOptions: { someOption: true },
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "token",
	type: "string",
	typeOptions: { someOption: true },
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "apiKey",
	type: "string",
	typeOptions: { someOption: true },
	default: "",
};

✅ Example of correct code:

const test = {
	displayName: "Some Display Name",
	name: "secret",
	type: "string",
	typeOptions: { password: true },
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "password",
	type: "string",
	typeOptions: { password: true },
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "token",
	type: "string",
	typeOptions: { password: true },
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "apiKey",
	type: "string",
	typeOptions: { password: true },
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "appPassword",
	type: "string",
	typeOptions: { password: true },
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "clientSecret",
	type: "string",
	typeOptions: { password: true },
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "accessToken",
	type: "string",
	typeOptions: { password: true },
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "maxTokens",
	type: "string",
	typeOptions: { password: true },
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "password_needs_reset",
	type: "string",
	typeOptions: { password: true },
	default: "",
};

const test = {
	displayName: "Some Display Name",
	name: "accessToken",
	type: "hidden",
	default: "",
};

const test = {
	displayName: "Is Password Protected",
	name: "isPasswordProtected",
	type: "boolean",
	default: "",
};

Links