mirror of
https://github.com/documenso/documenso.git
synced 2026-06-22 04:12:06 +10:00
feat: allow signing reason override
This commit is contained in:
@@ -72,6 +72,8 @@ NEXT_PRIVATE_SIGNING_GCLOUD_HSM_CERT_CHAIN_CONTENTS=
|
||||
NEXT_PRIVATE_SIGNING_GCLOUD_HSM_SECRET_MANAGER_CERT_PATH=
|
||||
# OPTIONAL: Comma-separated list of timestamp authority URLs for PDF signing (enables LTV and archival timestamps).
|
||||
NEXT_PRIVATE_SIGNING_TIMESTAMP_AUTHORITY=
|
||||
# OPTIONAL: Reason to embed in PDF signatures. Defaults to "Signed by Documenso".
|
||||
NEXT_PRIVATE_SIGNING_REASON=
|
||||
# OPTIONAL: Contact info to embed in PDF signatures. Defaults to the webapp URL.
|
||||
NEXT_PUBLIC_SIGNING_CONTACT_INFO=
|
||||
# OPTIONAL: Set to "true" to use the legacy adbe.pkcs7.detached subfilter instead of ETSI.CAdES.detached.
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
import { afterEach, describe, expect, it, vi } from 'vitest';
|
||||
|
||||
import { NEXT_PRIVATE_SIGNING_REASON } from './app';
|
||||
|
||||
describe('NEXT_PRIVATE_SIGNING_REASON', () => {
|
||||
afterEach(() => {
|
||||
vi.unstubAllEnvs();
|
||||
});
|
||||
|
||||
it('defaults to the Documenso signing reason', () => {
|
||||
vi.stubEnv('NEXT_PRIVATE_SIGNING_REASON', undefined);
|
||||
|
||||
expect(NEXT_PRIVATE_SIGNING_REASON()).toBe('Signed by Documenso');
|
||||
});
|
||||
|
||||
it('uses the configured signing reason verbatim', () => {
|
||||
vi.stubEnv('NEXT_PRIVATE_SIGNING_REASON', 'Signed by Objective');
|
||||
|
||||
expect(NEXT_PRIVATE_SIGNING_REASON()).toBe('Signed by Objective');
|
||||
});
|
||||
});
|
||||
@@ -33,3 +33,4 @@ export const IS_AI_FEATURES_CONFIGURED = () => !!env('GOOGLE_VERTEX_PROJECT_ID')
|
||||
export const NEXT_PRIVATE_USE_PLAYWRIGHT_PDF = () => env('NEXT_PRIVATE_USE_PLAYWRIGHT_PDF') === 'true';
|
||||
|
||||
export const NEXT_PRIVATE_SIGNING_TIMESTAMP_AUTHORITY = () => env('NEXT_PRIVATE_SIGNING_TIMESTAMP_AUTHORITY');
|
||||
export const NEXT_PRIVATE_SIGNING_REASON = () => env('NEXT_PRIVATE_SIGNING_REASON') ?? 'Signed by Documenso';
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import {
|
||||
NEXT_PRIVATE_SIGNING_REASON,
|
||||
NEXT_PRIVATE_USE_LEGACY_SIGNING_SUBFILTER,
|
||||
NEXT_PUBLIC_SIGNING_CONTACT_INFO,
|
||||
NEXT_PUBLIC_WEBAPP_URL,
|
||||
@@ -42,7 +43,7 @@ export const signPdf = async ({ pdf }: SignOptions) => {
|
||||
|
||||
const { bytes } = await pdf.sign({
|
||||
signer,
|
||||
reason: 'Signed by Documenso',
|
||||
reason: NEXT_PRIVATE_SIGNING_REASON(),
|
||||
location: NEXT_PUBLIC_WEBAPP_URL(),
|
||||
contactInfo: NEXT_PUBLIC_SIGNING_CONTACT_INFO(),
|
||||
subFilter: NEXT_PRIVATE_USE_LEGACY_SIGNING_SUBFILTER() ? 'adbe.pkcs7.detached' : 'ETSI.CAdES.detached',
|
||||
|
||||
Vendored
+1
@@ -46,6 +46,7 @@ declare namespace NodeJS {
|
||||
NEXT_PRIVATE_SIGNING_GCLOUD_HSM_CERT_CHAIN_CONTENTS?: string;
|
||||
NEXT_PRIVATE_SIGNING_GCLOUD_HSM_SECRET_MANAGER_CERT_PATH?: string;
|
||||
NEXT_PRIVATE_SIGNING_TIMESTAMP_AUTHORITY?: string;
|
||||
NEXT_PRIVATE_SIGNING_REASON?: string;
|
||||
NEXT_PUBLIC_SIGNING_CONTACT_INFO?: string;
|
||||
NEXT_PRIVATE_USE_LEGACY_SIGNING_SUBFILTER?: string;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user