@teleporthq/teleport-plugin-next-workflows 0.43.11 → 0.43.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__tests__/auth-env-secret-preservation.test.ts +79 -0
- package/__tests__/auth-nextauth-url.test.ts +59 -0
- package/__tests__/auth-oauth-providers.test.ts +97 -0
- package/dist/cjs/auth-generator.d.ts.map +1 -1
- package/dist/cjs/auth-generator.js +93 -100
- package/dist/cjs/auth-generator.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/workflow-project-plugin.d.ts +3 -1
- package/dist/cjs/workflow-project-plugin.d.ts.map +1 -1
- package/dist/cjs/workflow-project-plugin.js +39 -5
- package/dist/cjs/workflow-project-plugin.js.map +1 -1
- package/dist/esm/auth-generator.d.ts.map +1 -1
- package/dist/esm/auth-generator.js +93 -100
- package/dist/esm/auth-generator.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/workflow-project-plugin.d.ts +3 -1
- package/dist/esm/workflow-project-plugin.d.ts.map +1 -1
- package/dist/esm/workflow-project-plugin.js +36 -4
- package/dist/esm/workflow-project-plugin.js.map +1 -1
- package/package.json +2 -2
- package/src/auth-generator.ts +96 -111
- package/src/workflow-project-plugin.ts +41 -4
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { resolveAuthEnvValue, collectOAuthCredentialEnvKeys } from '../src/workflow-project-plugin'
|
|
2
|
+
|
|
3
|
+
// Regression: OAuth provider credentials never reached the deployed env →
|
|
4
|
+
// NextAuth `error=OAuthSignin` ("Continue with Google" does nothing). The auth
|
|
5
|
+
// plugin's `resolveAuthEnvValue` EMPTIED every `teleporthq.secrets.X` env value
|
|
6
|
+
// that wasn't NEXTAUTH_*, so the deploy worker had no placeholder to resolve and
|
|
7
|
+
// `process.env.AUTH_GOOGLE_ID` came out blank. The fix preserves the
|
|
8
|
+
// `teleporthq.secrets.<key>` placeholder for OAuth provider credential keys.
|
|
9
|
+
|
|
10
|
+
describe('collectOAuthCredentialEnvKeys', () => {
|
|
11
|
+
it('collects every credential field key across providers', () => {
|
|
12
|
+
const auth: any = {
|
|
13
|
+
providers: [
|
|
14
|
+
{
|
|
15
|
+
id: 'google',
|
|
16
|
+
credentials: {
|
|
17
|
+
AUTH_GOOGLE_ID: 'teleporthq.secrets.AUTH_GOOGLE_ID',
|
|
18
|
+
AUTH_GOOGLE_SECRET: 'teleporthq.secrets.AUTH_GOOGLE_SECRET1',
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
{ id: 'auth0', credentials: { AUTH_AUTH0_ID: 'x', AUTH_AUTH0_ISSUER: 'y' } },
|
|
22
|
+
],
|
|
23
|
+
}
|
|
24
|
+
const keys = collectOAuthCredentialEnvKeys(auth)
|
|
25
|
+
expect(Array.from(keys).sort()).toEqual(
|
|
26
|
+
['AUTH_AUTH0_ID', 'AUTH_AUTH0_ISSUER', 'AUTH_GOOGLE_ID', 'AUTH_GOOGLE_SECRET'].sort()
|
|
27
|
+
)
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
it('is empty for no/invalid auth', () => {
|
|
31
|
+
expect(collectOAuthCredentialEnvKeys(undefined).size).toBe(0)
|
|
32
|
+
expect(collectOAuthCredentialEnvKeys({ providers: [] } as any).size).toBe(0)
|
|
33
|
+
})
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
describe('resolveAuthEnvValue', () => {
|
|
37
|
+
const oauthKeys = new Set(['AUTH_GOOGLE_ID', 'AUTH_GOOGLE_SECRET'])
|
|
38
|
+
|
|
39
|
+
it('PRESERVES the placeholder for OAuth provider credential keys', () => {
|
|
40
|
+
expect(
|
|
41
|
+
resolveAuthEnvValue('AUTH_GOOGLE_ID', 'teleporthq.secrets.AUTH_GOOGLE_ID', oauthKeys)
|
|
42
|
+
).toBe('teleporthq.secrets.AUTH_GOOGLE_ID')
|
|
43
|
+
// Collision case: the env key AUTH_GOOGLE_SECRET references the uniquified
|
|
44
|
+
// secret key AUTH_GOOGLE_SECRET1 — the placeholder must survive verbatim so
|
|
45
|
+
// the worker resolves projectSecrets['AUTH_GOOGLE_SECRET1'].
|
|
46
|
+
expect(
|
|
47
|
+
resolveAuthEnvValue('AUTH_GOOGLE_SECRET', 'teleporthq.secrets.AUTH_GOOGLE_SECRET1', oauthKeys)
|
|
48
|
+
).toBe('teleporthq.secrets.AUTH_GOOGLE_SECRET1')
|
|
49
|
+
})
|
|
50
|
+
|
|
51
|
+
it('still empties the orphan/duplicate env key that is not a real credential field', () => {
|
|
52
|
+
// AUTH_GOOGLE_SECRET1 is a stray globals.env key, not a provider credential
|
|
53
|
+
// field — nothing reads it, so it stays emptied (harmless).
|
|
54
|
+
expect(
|
|
55
|
+
resolveAuthEnvValue(
|
|
56
|
+
'AUTH_GOOGLE_SECRET1',
|
|
57
|
+
'teleporthq.secrets.AUTH_GOOGLE_SECRET1',
|
|
58
|
+
oauthKeys
|
|
59
|
+
)
|
|
60
|
+
).toBe('')
|
|
61
|
+
})
|
|
62
|
+
|
|
63
|
+
it('keeps NEXTAUTH defaults and leaves non-auth behavior unchanged', () => {
|
|
64
|
+
expect(
|
|
65
|
+
resolveAuthEnvValue('NEXTAUTH_SECRET', 'teleporthq.secrets.NEXTAUTH_SECRET', oauthKeys)
|
|
66
|
+
).toBe('CHANGE_ME_TO_A_RANDOM_SECRET')
|
|
67
|
+
expect(resolveAuthEnvValue('NEXTAUTH_URL', 'teleporthq.secrets.NEXTAUTH_URL', oauthKeys)).toBe(
|
|
68
|
+
'http://localhost:3000'
|
|
69
|
+
)
|
|
70
|
+
// Non-OAuth secret-refs (handled by other plugins / the worker) are still
|
|
71
|
+
// emptied here — unchanged behavior, no regression.
|
|
72
|
+
expect(
|
|
73
|
+
resolveAuthEnvValue('EMAIL_POSTMARK_SERVERTOKEN', 'teleporthq.secrets.X', oauthKeys)
|
|
74
|
+
).toBe('')
|
|
75
|
+
// Plain (non-secret) values pass through untouched.
|
|
76
|
+
expect(resolveAuthEnvValue('TELEPORT_DB_SSL', 'true', oauthKeys)).toBe('true')
|
|
77
|
+
expect(resolveAuthEnvValue('AUTH_CREDENTIALS_ENABLED', 'true', oauthKeys)).toBe('true')
|
|
78
|
+
})
|
|
79
|
+
})
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* tslint:disable:no-eval */
|
|
2
|
+
import { generateNextAuthRouteFile } from '../src/auth-generator'
|
|
3
|
+
|
|
4
|
+
// The generated .env ships a localhost NEXTAUTH_URL (the deploy domain is
|
|
5
|
+
// unknown at build time). NextAuth builds OAuth callback/redirect URLs from
|
|
6
|
+
// NEXTAUTH_URL, so on a published domain that localhost value would break the
|
|
7
|
+
// OAuth round-trip. The generated /api/auth/[...nextauth] route now derives the
|
|
8
|
+
// real origin from the incoming request — without hardcoding it — while
|
|
9
|
+
// respecting an explicitly-set NEXTAUTH_URL and leaving local dev alone.
|
|
10
|
+
|
|
11
|
+
// Load the emitted route with `next-auth` + auth-options stubbed so we can
|
|
12
|
+
// exercise the per-request NEXTAUTH_URL derivation against a fake request.
|
|
13
|
+
function loadRoute(): (req: any, res: any) => any {
|
|
14
|
+
const code = generateNextAuthRouteFile()
|
|
15
|
+
const fakeNextAuth = () => (_req: any, _res: any) => ({ usedUrl: process.env.NEXTAUTH_URL })
|
|
16
|
+
const fakeRequire = (id: string) => (id === 'next-auth' ? fakeNextAuth : {})
|
|
17
|
+
const moduleObj: { exports: any } = { exports: {} }
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-implied-eval
|
|
19
|
+
const fn = new Function('require', 'module', 'process', code)
|
|
20
|
+
fn(fakeRequire, moduleObj, process)
|
|
21
|
+
return moduleObj.exports
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
describe('generated NextAuth route — dynamic NEXTAUTH_URL', () => {
|
|
25
|
+
const handler = loadRoute()
|
|
26
|
+
let saved: string | undefined
|
|
27
|
+
|
|
28
|
+
beforeEach(() => {
|
|
29
|
+
saved = process.env.NEXTAUTH_URL
|
|
30
|
+
})
|
|
31
|
+
afterEach(() => {
|
|
32
|
+
if (saved === undefined) delete process.env.NEXTAUTH_URL
|
|
33
|
+
else process.env.NEXTAUTH_URL = saved
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
it('derives the origin from the request host when NEXTAUTH_URL is the localhost default', () => {
|
|
37
|
+
process.env.NEXTAUTH_URL = 'http://localhost:3000'
|
|
38
|
+
handler({ headers: { host: 'my-app.teleporthq.dev', 'x-forwarded-proto': 'https' } }, {})
|
|
39
|
+
expect(process.env.NEXTAUTH_URL).toBe('https://my-app.teleporthq.dev')
|
|
40
|
+
})
|
|
41
|
+
|
|
42
|
+
it('uses x-forwarded-host and defaults the protocol to https', () => {
|
|
43
|
+
process.env.NEXTAUTH_URL = ''
|
|
44
|
+
handler({ headers: { 'x-forwarded-host': 'sugary.teleporthq.dev', host: 'internal:3000' } }, {})
|
|
45
|
+
expect(process.env.NEXTAUTH_URL).toBe('https://sugary.teleporthq.dev')
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
it('respects an explicitly-configured real NEXTAUTH_URL (does not clobber it)', () => {
|
|
49
|
+
process.env.NEXTAUTH_URL = 'https://custom-domain.com'
|
|
50
|
+
handler({ headers: { host: 'my-app.teleporthq.dev', 'x-forwarded-proto': 'https' } }, {})
|
|
51
|
+
expect(process.env.NEXTAUTH_URL).toBe('https://custom-domain.com')
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
it('leaves local development untouched', () => {
|
|
55
|
+
process.env.NEXTAUTH_URL = 'http://localhost:3000'
|
|
56
|
+
handler({ headers: { host: 'localhost:3000' } }, {})
|
|
57
|
+
expect(process.env.NEXTAUTH_URL).toBe('http://localhost:3000')
|
|
58
|
+
})
|
|
59
|
+
})
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { generateAuthOptionsFile } from '../src/auth-generator'
|
|
2
|
+
|
|
3
|
+
// Regression guards for OAuth provider code-gen. Previously the generated
|
|
4
|
+
// auth-options emitted `const <Capitalized(id)>Provider = require(...)`, which:
|
|
5
|
+
// - produced an INVALID JS identifier for hyphen/digit ids (e.g. azure-ad →
|
|
6
|
+
// `const Azure-adProvider` = syntax error), and
|
|
7
|
+
// - `require('next-auth/providers/<id>')` threw at import for renamed/missing
|
|
8
|
+
// modules, taking down ALL auth (credentials + every provider).
|
|
9
|
+
// The generator now builds the `providers` array imperatively, requiring each
|
|
10
|
+
// OAuth module inside its own try/catch with a local binding.
|
|
11
|
+
|
|
12
|
+
const authWith = (providers: any[], passwordAuthEnabled = true): any => ({
|
|
13
|
+
enabled: true,
|
|
14
|
+
passwordAuthEnabled,
|
|
15
|
+
providers,
|
|
16
|
+
authPages: { signIn: { route: '/sign-in' } },
|
|
17
|
+
dataSourceType: 'postgresql',
|
|
18
|
+
customUserProperties: [],
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
const cred = (prefix: string, extra?: string) => {
|
|
22
|
+
const c: Record<string, string> = {}
|
|
23
|
+
c[`${prefix}_ID`] = `teleporthq.secrets.${prefix}_ID`
|
|
24
|
+
c[`${prefix}_SECRET`] = `teleporthq.secrets.${prefix}_SECRET`
|
|
25
|
+
if (extra) c[`${prefix}_${extra}`] = `teleporthq.secrets.${prefix}_${extra}`
|
|
26
|
+
return c
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
describe('auth-generator OAuth providers', () => {
|
|
30
|
+
it('never emits an invalid JS identifier for hyphen/digit provider ids', () => {
|
|
31
|
+
const out = generateAuthOptionsFile(
|
|
32
|
+
authWith([
|
|
33
|
+
{ id: 'azure-ad', name: 'Azure AD', credentials: cred('AUTH_AZURE_AD') },
|
|
34
|
+
{ id: '42-school', name: '42 School', credentials: cred('AUTH_42_SCHOOL') },
|
|
35
|
+
{ id: 'azure-ad-b2c', name: 'Azure B2C', credentials: cred('AUTH_AZURE_AD_B2C', 'ISSUER') },
|
|
36
|
+
]),
|
|
37
|
+
null
|
|
38
|
+
)
|
|
39
|
+
// No `const <ident-with-hyphen>` anywhere (the old bug). Match a const/var
|
|
40
|
+
// declaration whose name contains a hyphen.
|
|
41
|
+
expect(out).not.toMatch(/\b(?:const|var|let)\s+[A-Za-z0-9$_]*-[A-Za-z0-9$_-]*\s*=/)
|
|
42
|
+
// Correct module paths are still required (just locally, in a guard).
|
|
43
|
+
expect(out).toContain("require('next-auth/providers/azure-ad')")
|
|
44
|
+
expect(out).toContain("require('next-auth/providers/42-school')")
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
it('wraps every OAuth provider in its own try/catch and pushes to a providers array', () => {
|
|
48
|
+
const out = generateAuthOptionsFile(
|
|
49
|
+
authWith([{ id: 'google', name: 'Google', credentials: cred('AUTH_GOOGLE') }]),
|
|
50
|
+
null
|
|
51
|
+
)
|
|
52
|
+
expect(out).toContain('const providers = [];')
|
|
53
|
+
expect(out).toContain('providers: providers,')
|
|
54
|
+
expect(out).toMatch(
|
|
55
|
+
/try \{[\s\S]*require\('next-auth\/providers\/google'\)[\s\S]*providers\.push\(/
|
|
56
|
+
)
|
|
57
|
+
expect(out).toContain('catch')
|
|
58
|
+
expect(out).toContain('clientId: process.env.AUTH_GOOGLE_ID')
|
|
59
|
+
expect(out).toContain('clientSecret: process.env.AUTH_GOOGLE_SECRET')
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
it('maps the renamed module names (boxyhq / duende / identityserver4)', () => {
|
|
63
|
+
const out = generateAuthOptionsFile(
|
|
64
|
+
authWith([
|
|
65
|
+
{ id: 'boxyhq', name: 'BoxyHQ', credentials: cred('AUTH_BOXYHQ_SAML', 'ISSUER') },
|
|
66
|
+
{
|
|
67
|
+
id: 'duende',
|
|
68
|
+
name: 'Duende',
|
|
69
|
+
credentials: cred('AUTH_DUENDE_IDENTITYSERVER_6', 'ISSUER'),
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
id: 'identityserver4',
|
|
73
|
+
name: 'IS4',
|
|
74
|
+
credentials: cred('AUTH_IDENTITY_SERVER4', 'ISSUER'),
|
|
75
|
+
},
|
|
76
|
+
]),
|
|
77
|
+
null
|
|
78
|
+
)
|
|
79
|
+
expect(out).toContain("require('next-auth/providers/boxyhq-saml')")
|
|
80
|
+
expect(out).toContain("require('next-auth/providers/duende-identity-server6')")
|
|
81
|
+
expect(out).toContain("require('next-auth/providers/identity-server4')")
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
it('emits issuer for OIDC providers that have an issuer/domain/tenant field', () => {
|
|
85
|
+
const out = generateAuthOptionsFile(
|
|
86
|
+
authWith([{ id: 'auth0', name: 'Auth0', credentials: cred('AUTH_AUTH0', 'ISSUER') }]),
|
|
87
|
+
null
|
|
88
|
+
)
|
|
89
|
+
expect(out).toContain('issuer: process.env.AUTH_AUTH0_ISSUER')
|
|
90
|
+
})
|
|
91
|
+
|
|
92
|
+
it('still emits the CredentialsProvider when password auth is enabled', () => {
|
|
93
|
+
const out = generateAuthOptionsFile(authWith([], true), null)
|
|
94
|
+
expect(out).toContain("require('next-auth/providers/credentials')")
|
|
95
|
+
expect(out).toContain('providers.push(CredentialsProvider(')
|
|
96
|
+
})
|
|
97
|
+
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-generator.d.ts","sourceRoot":"","sources":["../../src/auth-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAElB,cAAc,EACf,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"auth-generator.d.ts","sourceRoot":"","sources":["../../src/auth-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAElB,cAAc,EACf,MAAM,4BAA4B,CAAA;AAYnC,eAAO,MAAM,6BAA6B,mBACxB,cAAc,GAAG,IAAI,KACpC,OAAO,MAAM,EAAE,MAAM,CA0BvB,CAAA;AAmhBD,eAAO,MAAM,uBAAuB,SAC5B,kBAAkB,qBACL,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAChD,MAsFF,CAAA;AAED,eAAO,MAAM,wBAAwB,QAAO,MA4B3C,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAO,MAgC5C,CAAA;AAED,eAAO,MAAM,uBAAuB,SAAU,kBAAkB,KAAG,MAuFlE,CAAA;AAsBD,eAAO,MAAM,sBAAsB,SAAU,kBAAkB,KAAG,MA2NjE,CAAA;AAED,eAAO,MAAM,8BAA8B,QAAO,MAqCjD,CAAA"}
|
|
@@ -1,54 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateSessionProviderWrapper = exports.generateMiddlewareFile = exports.generateSignupRouteFile = exports.generateNextAuthRouteFile = exports.generateHashPasswordFile = exports.generateAuthOptionsFile = exports.getDatabaseDriverDependencies = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
dropbox: 'Dropbox',
|
|
13
|
-
gitlab: 'GitLab',
|
|
14
|
-
instagram: 'Instagram',
|
|
15
|
-
keycloak: 'Keycloak',
|
|
16
|
-
linkedin: 'LinkedIn',
|
|
17
|
-
okta: 'Okta',
|
|
18
|
-
reddit: 'Reddit',
|
|
19
|
-
slack: 'Slack',
|
|
20
|
-
spotify: 'Spotify',
|
|
21
|
-
twitch: 'Twitch',
|
|
22
|
-
twitter: 'Twitter',
|
|
23
|
-
zoom: 'Zoom',
|
|
24
|
-
cognito: 'Cognito',
|
|
25
|
-
battlenet: 'BattleNet',
|
|
26
|
-
box: 'Box',
|
|
27
|
-
bungie: 'Bungie',
|
|
28
|
-
coinbase: 'Coinbase',
|
|
29
|
-
figma: 'Figma',
|
|
30
|
-
foursquare: 'Foursquare',
|
|
31
|
-
freshbooks: 'Freshbooks',
|
|
32
|
-
fusionauth: 'FusionAuth',
|
|
33
|
-
hubspot: 'Hubspot',
|
|
34
|
-
kakao: 'Kakao',
|
|
35
|
-
line: 'Line',
|
|
36
|
-
mailchimp: 'Mailchimp',
|
|
37
|
-
notion: 'Notion',
|
|
38
|
-
osso: 'Osso',
|
|
39
|
-
osu: 'Osu',
|
|
40
|
-
patreon: 'Patreon',
|
|
41
|
-
pinterest: 'Pinterest',
|
|
42
|
-
pipedrive: 'Pipedrive',
|
|
43
|
-
salesforce: 'Salesforce',
|
|
44
|
-
strava: 'Strava',
|
|
45
|
-
tiktok: 'TikTok',
|
|
46
|
-
todoist: 'Todoist',
|
|
47
|
-
trakt: 'Trakt',
|
|
48
|
-
workos: 'WorkOS',
|
|
49
|
-
wordpress: 'WordPress',
|
|
50
|
-
yandex: 'Yandex',
|
|
51
|
-
zitadel: 'Zitadel',
|
|
4
|
+
// GUI provider id → the actual next-auth v4 provider MODULE name, for the few
|
|
5
|
+
// cases where they differ. Everything else uses the id as the module name.
|
|
6
|
+
// (Providers next-auth v4 cannot supply are not offered by the GUI; if one
|
|
7
|
+
// ever slips through, generateProvidersSetup skips it gracefully.)
|
|
8
|
+
const PROVIDER_MODULE_OVERRIDES = {
|
|
9
|
+
boxyhq: 'boxyhq-saml',
|
|
10
|
+
duende: 'duende-identity-server6',
|
|
11
|
+
identityserver4: 'identity-server4',
|
|
52
12
|
};
|
|
53
13
|
const getDatabaseDriverDependencies = (dataSourceType) => {
|
|
54
14
|
if (!dataSourceType) {
|
|
@@ -504,63 +464,77 @@ async function createUser() { return null; }
|
|
|
504
464
|
async function userExistsByEmail() { return false; }`;
|
|
505
465
|
}
|
|
506
466
|
};
|
|
467
|
+
// Only the CredentialsProvider is imported at module scope (it always exists).
|
|
468
|
+
// OAuth providers are required lazily inside generateProvidersSetup.
|
|
507
469
|
const generateProviderImports = (auth) => {
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
lines.push(`const CredentialsProvider = require('next-auth/providers/credentials').default || require('next-auth/providers/credentials');`);
|
|
511
|
-
}
|
|
512
|
-
for (const provider of auth.providers) {
|
|
513
|
-
const importName = PROVIDER_IMPORT_MAP[provider.id] || capitalize(provider.id);
|
|
514
|
-
lines.push(`const ${importName}Provider = require('next-auth/providers/${provider.id}').default || require('next-auth/providers/${provider.id}');`);
|
|
470
|
+
if (!auth.passwordAuthEnabled) {
|
|
471
|
+
return '';
|
|
515
472
|
}
|
|
516
|
-
return
|
|
473
|
+
return `const CredentialsProvider = require('next-auth/providers/credentials').default || require('next-auth/providers/credentials');`;
|
|
517
474
|
};
|
|
518
|
-
|
|
519
|
-
|
|
475
|
+
// Builds the `providers` array imperatively. Each OAuth provider is required in
|
|
476
|
+
// its own try/catch with a LOCAL binding, so:
|
|
477
|
+
// - there is never a `const <Name>Provider` whose name could be an invalid JS
|
|
478
|
+
// identifier (an id with a hyphen / leading digit would be a syntax error), and
|
|
479
|
+
// - a provider whose module is missing or renamed is SKIPPED instead of
|
|
480
|
+
// throwing at import time and taking down ALL authentication for the project
|
|
481
|
+
// (credentials login + every other provider).
|
|
482
|
+
const generateProvidersSetup = (auth) => {
|
|
483
|
+
const lines = ['const providers = [];'];
|
|
520
484
|
if (auth.passwordAuthEnabled) {
|
|
521
|
-
providers.push(
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
485
|
+
lines.push(`providers.push(CredentialsProvider({
|
|
486
|
+
name: 'Credentials',
|
|
487
|
+
credentials: {
|
|
488
|
+
email: { label: 'Email', type: 'email' },
|
|
489
|
+
password: { label: 'Password', type: 'password' }
|
|
490
|
+
},
|
|
491
|
+
async authorize(credentials) {
|
|
492
|
+
if (!credentials || !credentials.email || !credentials.password) {
|
|
493
|
+
return null;
|
|
494
|
+
}
|
|
495
|
+
try {
|
|
496
|
+
const { verifyPassword } = require('./hash-password');
|
|
497
|
+
const user = await findUserByEmail(String(credentials.email));
|
|
498
|
+
if (!user) return null;
|
|
499
|
+
if (!verifyPassword(String(credentials.password), user.password)) return null;
|
|
500
|
+
return sanitizeUser(user);
|
|
501
|
+
} catch (err) {
|
|
502
|
+
console.error('Authorize error:', err);
|
|
503
|
+
return null;
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
}));`);
|
|
543
507
|
}
|
|
544
|
-
|
|
545
|
-
const
|
|
508
|
+
auth.providers.forEach((provider, idx) => {
|
|
509
|
+
const moduleName = PROVIDER_MODULE_OVERRIDES[provider.id] || provider.id;
|
|
546
510
|
const credKeys = Object.keys(provider.credentials);
|
|
547
|
-
const idKey = credKeys.find((k) => k.endsWith('_ID'))
|
|
548
|
-
const secretKey = credKeys.find((k) => k.endsWith('_SECRET'))
|
|
511
|
+
const idKey = credKeys.find((k) => k.endsWith('_ID')) || `AUTH_${provider.id.toUpperCase()}_ID`;
|
|
512
|
+
const secretKey = credKeys.find((k) => k.endsWith('_SECRET')) || `AUTH_${provider.id.toUpperCase()}_SECRET`;
|
|
549
513
|
const issuerKey = credKeys.find((k) => k.endsWith('_ISSUER') || k.endsWith('_DOMAIN') || k.endsWith('_TENANT_ID'));
|
|
550
|
-
|
|
514
|
+
const cfg = [
|
|
515
|
+
` clientId: process.env.${idKey}`,
|
|
516
|
+
` clientSecret: process.env.${secretKey}`,
|
|
517
|
+
];
|
|
551
518
|
if (issuerKey) {
|
|
552
|
-
|
|
519
|
+
cfg.push(` issuer: process.env.${issuerKey}`);
|
|
553
520
|
}
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
521
|
+
lines.push(`try {
|
|
522
|
+
var __oauth${idx} = require('next-auth/providers/${moduleName}');
|
|
523
|
+
providers.push((__oauth${idx}.default || __oauth${idx})({
|
|
524
|
+
${cfg.join(',\n')}
|
|
525
|
+
}));
|
|
526
|
+
} catch (__oauthErr${idx}) {
|
|
527
|
+
console.error('OAuth provider "${provider.id}" is unavailable and was skipped:', __oauthErr${idx} && __oauthErr${idx}.message);
|
|
528
|
+
}`);
|
|
529
|
+
});
|
|
530
|
+
return lines.join('\n');
|
|
557
531
|
};
|
|
558
532
|
const generateAuthOptionsFile = (auth, dataSourceConfig) => {
|
|
559
533
|
var _a;
|
|
560
534
|
const customProps = auth.customUserProperties || [];
|
|
561
535
|
const dbSetupCode = generateDbSetupCode(auth.dataSourceType, dataSourceConfig);
|
|
562
536
|
const providerImports = generateProviderImports(auth);
|
|
563
|
-
const
|
|
537
|
+
const providersSetup = generateProvidersSetup(auth);
|
|
564
538
|
const findUserCode = auth.passwordAuthEnabled
|
|
565
539
|
? generateFindUserFunction(auth.dataSourceType, customProps)
|
|
566
540
|
: '';
|
|
@@ -572,10 +546,10 @@ ${sanitizeUserCode}
|
|
|
572
546
|
|
|
573
547
|
${findUserCode}
|
|
574
548
|
|
|
549
|
+
${providersSetup}
|
|
550
|
+
|
|
575
551
|
const authOptions = {
|
|
576
|
-
providers:
|
|
577
|
-
${providerConfig}
|
|
578
|
-
],
|
|
552
|
+
providers: providers,
|
|
579
553
|
pages: {
|
|
580
554
|
signIn: '${signInRoute}',
|
|
581
555
|
},
|
|
@@ -676,7 +650,32 @@ const generateNextAuthRouteFile = () => {
|
|
|
676
650
|
if (NextAuth.default) NextAuth = NextAuth.default;
|
|
677
651
|
const authOptions = require('../../../utils/auth/auth-options');
|
|
678
652
|
|
|
679
|
-
|
|
653
|
+
const authHandler = NextAuth(authOptions);
|
|
654
|
+
|
|
655
|
+
// NextAuth builds OAuth callback / redirect URLs from process.env.NEXTAUTH_URL.
|
|
656
|
+
// At build time the real deployment domain is unknown, so the generated .env
|
|
657
|
+
// ships a localhost default. Derive the correct origin from the incoming
|
|
658
|
+
// request here so OAuth works on whatever domain the project is published to —
|
|
659
|
+
// WITHOUT hardcoding it. An explicitly-configured (non-local) NEXTAUTH_URL is
|
|
660
|
+
// always respected; local dev (host = localhost) is left untouched.
|
|
661
|
+
module.exports = function nextAuthRoute(req, res) {
|
|
662
|
+
try {
|
|
663
|
+
const fwdHost = req.headers['x-forwarded-host'] || req.headers.host || '';
|
|
664
|
+
const host = Array.isArray(fwdHost) ? fwdHost[0] : fwdHost;
|
|
665
|
+
const hostIsLocal = host.indexOf('localhost') === 0 || host.indexOf('127.0.0.1') === 0;
|
|
666
|
+
const current = process.env.NEXTAUTH_URL || '';
|
|
667
|
+
const currentIsLocalOrEmpty =
|
|
668
|
+
!current || current.indexOf('localhost') !== -1 || current.indexOf('127.0.0.1') !== -1;
|
|
669
|
+
if (host && !hostIsLocal && currentIsLocalOrEmpty) {
|
|
670
|
+
const fwdProto = req.headers['x-forwarded-proto'];
|
|
671
|
+
const proto = (Array.isArray(fwdProto) ? fwdProto[0] : fwdProto) || 'https';
|
|
672
|
+
process.env.NEXTAUTH_URL = proto + '://' + host;
|
|
673
|
+
}
|
|
674
|
+
} catch (e) {
|
|
675
|
+
/* fall back to the configured NEXTAUTH_URL */
|
|
676
|
+
}
|
|
677
|
+
return authHandler(req, res);
|
|
678
|
+
};
|
|
680
679
|
`;
|
|
681
680
|
};
|
|
682
681
|
exports.generateNextAuthRouteFile = generateNextAuthRouteFile;
|
|
@@ -1039,10 +1038,4 @@ export default function AuthSessionProvider(props) {
|
|
|
1039
1038
|
`;
|
|
1040
1039
|
};
|
|
1041
1040
|
exports.generateSessionProviderWrapper = generateSessionProviderWrapper;
|
|
1042
|
-
const capitalize = (str) => {
|
|
1043
|
-
if (!str) {
|
|
1044
|
-
return str;
|
|
1045
|
-
}
|
|
1046
|
-
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
1047
|
-
};
|
|
1048
1041
|
//# sourceMappingURL=auth-generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-generator.js","sourceRoot":"","sources":["../../src/auth-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth-generator.js","sourceRoot":"","sources":["../../src/auth-generator.ts"],"names":[],"mappings":"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"}
|