@@ -21,14 +21,49 @@ function validateEnvVars() {
2121// Validate environment variables on module load
2222validateEnvVars ( ) ;
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+
2459export 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