Skip to content

Commit a4ede4a

Browse files
Merge pull request #335 from auth0/feat/add-my-account-env-support-rwa
feat(examples): update nextjs lib env to support my account
2 parents df77f9a + 7b79aaa commit a4ede4a

2 files changed

Lines changed: 40 additions & 6 deletions

File tree

examples/next-rwa/.env.example

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ APP_BASE_URL='http://localhost:5173'
55
AUTH0_DOMAIN='https://your-domain.auth0.com'
66
AUTH0_CLIENT_ID='your-client-id'
77
AUTH0_CLIENT_SECRET='your-client-secret'
8-
AUTH0_SCOPE='openid profile email offline_access read:my_org:details update:my_org:details read:my_org:identity_providers create:my_org:identity_providers update:my_org:identity_providers delete:my_org:identity_providers update:my_org:identity_providers_detach read:my_org:configuration read:my_org:identity_providers_provisioning create:my_org:identity_providers_provisioning delete:my_org:identity_providers_provisioning create:my_org:identity_providers_domains delete:my_org:identity_providers_domains read:my_org:identity_providers_scim_tokens create:my_org:identity_providers_scim_tokens delete:my_org:identity_providers_scim_tokens read:my_org:domains delete:my_org:domains create:my_org:domains update:my_org:domains create:me:authentication_methods read:me:authentication_methods delete:me:authentication_methods update:me:authentication_methods read:me:factors'
98

109
# Auth0 Configuration - Public and exposed to the Browser
1110
NEXT_PUBLIC_AUTH0_DOMAIN='metcodermyorg.test-iamda-myorgapipocweek1.auth0c.com'

examples/next-rwa/src/lib/auth0.ts

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,49 @@ function validateEnvVars() {
2121
// Validate environment variables on module load
2222
validateEnvVars();
2323

24+
const BASE_SCOPES = 'openid profile email offline_access';
25+
26+
const MY_ACCOUNT_SCOPES = [
27+
'create:me:authentication_methods',
28+
'read:me:authentication_methods',
29+
'update:me:authentication_methods',
30+
'delete:me:authentication_methods',
31+
'read:me:factors',
32+
];
33+
34+
const MY_ORG_SCOPES = [
35+
'read:my_org:details',
36+
'update:my_org:details',
37+
'create:my_org:identity_providers',
38+
'read:my_org:identity_providers',
39+
'update:my_org:identity_providers',
40+
'delete:my_org:identity_providers',
41+
'update:my_org:identity_providers_detach',
42+
'read:my_org:domains',
43+
'delete:my_org:domains',
44+
'create:my_org:domains',
45+
'update:my_org:domains',
46+
'create:my_org:identity_providers_domains',
47+
'delete:my_org:identity_providers_domains',
48+
'read:my_org:identity_providers_scim_tokens',
49+
'create:my_org:identity_providers_scim_tokens',
50+
'delete:my_org:identity_providers_scim_tokens',
51+
'create:my_org:identity_providers_provisioning',
52+
'read:my_org:identity_providers_provisioning',
53+
'delete:my_org:identity_providers_provisioning',
54+
'read:my_org:configuration',
55+
];
56+
57+
const domain = process.env.AUTH0_DOMAIN?.replace(/\/$/, '');
58+
2459
export const auth0 = new Auth0Client({
2560
httpTimeout: 20000, // 20 seconds
2661
authorizationParameters: {
27-
scope: process.env.AUTH0_SCOPE || 'openid profile email offline_access',
28-
29-
...(process.env.AUTH0_DOMAIN && {
30-
audience: `${process.env.AUTH0_DOMAIN.replace(/\/$/, '')}/my-org/`,
31-
}),
62+
audience: domain ? `${domain}/my-org/` : undefined,
63+
scope: {
64+
[`${domain}/me/`]: `${BASE_SCOPES} ${MY_ACCOUNT_SCOPES.join(' ')}`,
65+
[`${domain}/my-org/`]: `${BASE_SCOPES} ${MY_ORG_SCOPES.join(' ')}`,
66+
},
3267
},
3368
// Using SDK defaults: rolling: true, absoluteDuration: 3 days, inactivityDuration: 1 day
3469
});

0 commit comments

Comments
 (0)