@@ -25,92 +25,124 @@ exports.onExecutePostLogin = async (event, api) => {
2525 // [1]: https://github.com/mozilla-iam/auth0-deploy/commit/52fdd114301a3e22603b8a869f936f24180521e1
2626 const GHE_SECURITY_MANAGERS_GROUP = "mozilliansorg_ghe_security-managers" ;
2727
28- // Object of applications with a 1:1 mapping of clientID and related group
28+ // Object of applications with a 1:many mapping of clientID to related
29+ // groups. A user is granted access if they belong to any of the groups
30+ // listed for the application's clientID.
2931 const applicationGroupMapping = {
3032 // Dev applications
31- "9MR2UMAftbs6758Rmbs8yZ9Dj5AjeT0P" : "mozilliansorg_ghe_ghe-auth-dev_users" ,
33+ "9MR2UMAftbs6758Rmbs8yZ9Dj5AjeT0P" : [
34+ "mozilliansorg_ghe_ghe-auth-dev_users" ,
35+ "ldap_team_moco" ,
36+ ] ,
3237
3338 // Prod applications
34- RzaIwPS6wfABGLrhnCmWdzlCLoKXUY84 : "mozilliansorg_ghe_mozilla-actions_users" ,
35- EnEylt4OZW6i7yCWzZmCxyCxDRp6lOY0 :
39+ RzaIwPS6wfABGLrhnCmWdzlCLoKXUY84 : [ "mozilliansorg_ghe_mozilla-actions_users" ] ,
40+ EnEylt4OZW6i7yCWzZmCxyCxDRp6lOY0 : [
3641 "mozilliansorg_ghe_saml-test-integrations_users" ,
37- "2MVzcGFtl2rbdEx97rpC98urD6ZMqUcf" : "mozilliansorg_ghe_mozilla-it_users" ,
38- Cc2xFG6xS5O8UKoSzoJ4eNggo6jHnzDU : "mozilliansorg_ghe_mozilla-games_users" ,
39- "8lXCX2EGQNLixvBqONK3ceCVY2ppYiU6" :
42+ ] ,
43+ "2MVzcGFtl2rbdEx97rpC98urD6ZMqUcf" : [ "mozilliansorg_ghe_mozilla-it_users" ] ,
44+ Cc2xFG6xS5O8UKoSzoJ4eNggo6jHnzDU : [ "mozilliansorg_ghe_mozilla-games_users" ] ,
45+ "8lXCX2EGQNLixvBqONK3ceCVY2ppYiU6" : [
4046 "mozilliansorg_ghe_mozilla-jetpack_users" ,
41- kkVlkyyJjjhONdxjiB4963i4cka6VBSh : "mozilliansorg_ghe_mozilla-twqa_users" ,
42- nzV38DSEECYNl9toBfbVvVqXG04d2DaR : "mozilliansorg_ghe_fxos_users" ,
43- RXTiiTCJ8wCCHklJuU9NxB1gK3GpFL4J : "mozilliansorg_ghe_fxos-eng_users" ,
44- "2mw77kvVsYBwlvZFay45S0e7dJ9Cd6z5" : "mozilliansorg_ghe_mozilla-b2g_users" ,
45- XBQy3ijpDhqnE9PQLd9fvO85o8NNroFH : "mozilliansorg_ghe_mozilla-tw_users" ,
46- pFmfC1JoiDB9DZcrqX5GpiUM0IpDwIi5 : "mozilliansorg_ghe_mozillawiki_users" ,
47- F7KEqlRIgdC5yUAAq0zm4voJZFk9IlS4 :
47+ ] ,
48+ kkVlkyyJjjhONdxjiB4963i4cka6VBSh : [ "mozilliansorg_ghe_mozilla-twqa_users" ] ,
49+ nzV38DSEECYNl9toBfbVvVqXG04d2DaR : [ "mozilliansorg_ghe_fxos_users" ] ,
50+ RXTiiTCJ8wCCHklJuU9NxB1gK3GpFL4J : [ "mozilliansorg_ghe_fxos-eng_users" ] ,
51+ "2mw77kvVsYBwlvZFay45S0e7dJ9Cd6z5" : [ "mozilliansorg_ghe_mozilla-b2g_users" ] ,
52+ XBQy3ijpDhqnE9PQLd9fvO85o8NNroFH : [ "mozilliansorg_ghe_mozilla-tw_users" ] ,
53+ pFmfC1JoiDB9DZcrqX5GpiUM0IpDwIi5 : [ "mozilliansorg_ghe_mozillawiki_users" ] ,
54+ F7KEqlRIgdC5yUAAq0zm4voJZFk9IlS4 : [
4855 "mozilliansorg_ghe_mozilla-outreachy-datascience_users" ,
49- lhAIAsdx3jSOiKe1LoHmB0zEsUrCbfhI : "mozilliansorg_ghe_moco-ghe-admin_users" ,
50- f1MpcTzYA8J06nUUdO5LuhhA7b4JZVJi : "mozilliansorg_ghe_mozilla_users" ,
51- s0v1r2d34lTqPtQu0jBVOKbWOKK4i1TU : "mozilliansorg_ghe_mozmeao_users" ,
52- "5GfQ2AMXMqibOsatSYTKh3dVSioVPhGA" : "mozilliansorg_ghe_mozrelops_users" ,
53- k2dBGcFJAhzlqOuSZH5nQhyq6L87jVaT : "mozilliansorg_ghe_mozilla-svcops_users" ,
54- oU3JDtWZSeeBuUcJ0dfLKXU1S2tnTg0K :
56+ ] ,
57+ lhAIAsdx3jSOiKe1LoHmB0zEsUrCbfhI : [
58+ "mozilliansorg_ghe_moco-ghe-admin_users" ,
59+ ] ,
60+ f1MpcTzYA8J06nUUdO5LuhhA7b4JZVJi : [ "mozilliansorg_ghe_mozilla_users" ] ,
61+ s0v1r2d34lTqPtQu0jBVOKbWOKK4i1TU : [ "mozilliansorg_ghe_mozmeao_users" ] ,
62+ "5GfQ2AMXMqibOsatSYTKh3dVSioVPhGA" : [ "mozilliansorg_ghe_mozrelops_users" ] ,
63+ k2dBGcFJAhzlqOuSZH5nQhyq6L87jVaT : [ "mozilliansorg_ghe_mozilla-svcops_users" ] ,
64+ oU3JDtWZSeeBuUcJ0dfLKXU1S2tnTg0K : [
5565 "mozilliansorg_ghe_mozilla-applied-ml_users" ,
56- NyrIlf4H3ZYtMUfJLs6UmUwllOpfo23v : "mozilliansorg_ghe_mozilla-iam_users" ,
57- TeSutPsFGcieGEIl30pL35lrZ4HDEim0 : "mozilliansorg_ghe_devtools-html_users" ,
58- HPl9z5rJS6mjRUNqkcr2avRZvnnXW1nI : "mozilliansorg_ghe_mozilla-archive_users" ,
59- "3agx8byruE6opXpzoAaJl1rvlS6JA8Ly" :
66+ ] ,
67+ NyrIlf4H3ZYtMUfJLs6UmUwllOpfo23v : [ "mozilliansorg_ghe_mozilla-iam_users" ] ,
68+ TeSutPsFGcieGEIl30pL35lrZ4HDEim0 : [ "mozilliansorg_ghe_devtools-html_users" ] ,
69+ HPl9z5rJS6mjRUNqkcr2avRZvnnXW1nI : [ "mozilliansorg_ghe_mozilla-archive_users" ] ,
70+ "3agx8byruE6opXpzoAaJl1rvlS6JA8Ly" : [
6071 "mozilliansorg_ghe_mozilla-commons_users" ,
61- Vyg4xo7d0ECLHaLD1DnLl1MYmziqv1SP : "mozilliansorg_ghe_mozilla-lockbox_users" ,
62- npLk8377ceFcsXp5SIEJYwBqoXUn1zeu : "mozilliansorg_ghe_mozilla-private_users" ,
63- qBv5vlRW7fNiIRIiuSjjZtoulwlUwo6L : "mozilliansorg_ghe_mozilladpx_users" ,
64- "4Op3cF3IvEHBGpD6gIFHHUlAXFGLiZWq" :
72+ ] ,
73+ Vyg4xo7d0ECLHaLD1DnLl1MYmziqv1SP : [
74+ "mozilliansorg_ghe_mozilla-lockbox_users" ,
75+ ] ,
76+ npLk8377ceFcsXp5SIEJYwBqoXUn1zeu : [
77+ "mozilliansorg_ghe_mozilla-private_users" ,
78+ ] ,
79+ qBv5vlRW7fNiIRIiuSjjZtoulwlUwo6L : [ "mozilliansorg_ghe_mozilladpx_users" ] ,
80+ "4Op3cF3IvEHBGpD6gIFHHUlAXFGLiZWq" : [
6581 "mozilliansorg_ghe_mozilla-frontend-infra_users" ,
66- IYfS3mWjTOnCX5YJ6mMWlBWEJyAwUAZm : "mozilliansorg_ghe_mozilla-bteam_users" ,
67- tflU5Bd4CAzzlJzgDPT25Ks2CNADkuhZ : "mozilliansorg_ghe_mozilla-conduit_users" ,
68- HHb263N55HitFj5bBVFanv2AnF6E6bGf :
82+ ] ,
83+ IYfS3mWjTOnCX5YJ6mMWlBWEJyAwUAZm : [ "mozilliansorg_ghe_mozilla-bteam_users" ] ,
84+ tflU5Bd4CAzzlJzgDPT25Ks2CNADkuhZ : [ "mozilliansorg_ghe_mozilla-conduit_users" ] ,
85+ HHb263N55HitFj5bBVFanv2AnF6E6bGf : [
6986 "mozilliansorg_ghe_mozilla-sre-deploy_users" ,
70- bPCduBPyVFSxPEEdpG3dMdoiHXuj26Kr :
87+ ] ,
88+ bPCduBPyVFSxPEEdpG3dMdoiHXuj26Kr : [
7189 "mozilliansorg_ghe_firefox-devtools_users" ,
72- fqzPu0Hg17Vgx90JcWh1nWcV8TN4WkXa : "mozilliansorg_ghe_iodide-project_users" ,
73- AcnyB9st2RTC6JfqizCSdaMlzBC7notV : "mozilliansorg_ghe_mozilla-l10n_users" ,
74- fdGht0OM5DNTYPTWENtEhrXdGP6zmH9L :
90+ ] ,
91+ fqzPu0Hg17Vgx90JcWh1nWcV8TN4WkXa : [ "mozilliansorg_ghe_iodide-project_users" ] ,
92+ AcnyB9st2RTC6JfqizCSdaMlzBC7notV : [ "mozilliansorg_ghe_mozilla-l10n_users" ] ,
93+ fdGht0OM5DNTYPTWENtEhrXdGP6zmH9L : [
7594 "mozilliansorg_ghe_mozilla-lockwise_users" ,
76- aKU0bzGLTVv53jDokaUDwNUyNfZxgT4R :
95+ ] ,
96+ aKU0bzGLTVv53jDokaUDwNUyNfZxgT4R : [
7797 "mozilliansorg_ghe_mozilla-spidermonkey_users" ,
78- Oy6exOuOGejAqExc8fZnSGdJA9t4njnG : "mozilliansorg_ghe_mozillareality_users" ,
79- "3iAAhN0vAavOHIzCqnaFKo9Mlqb9pBLH" :
98+ ] ,
99+ Oy6exOuOGejAqExc8fZnSGdJA9t4njnG : [ "mozilliansorg_ghe_mozillareality_users" ] ,
100+ "3iAAhN0vAavOHIzCqnaFKo9Mlqb9pBLH" : [
80101 "mozilliansorg_ghe_mozillasecurity_users" ,
81- Qb2ZWerstBXCn5yCXQYU7vUfLuaZ1dMB : "mozilliansorg_ghe_nss-dev_users" ,
82- A5hvTaSHqMyrCVMypE3TNhW4VXQzM63d : "mozilliansorg_ghe_nubisproject_users" ,
83- VStrUcaxLXH9xQEEFX9Vkf0D5pRo5c6C : "mozilliansorg_ghe_projectfluent_users" ,
84- WKOfTFaGTV10YKzfkMOyAl3bgi3BPFMc : "mozilliansorg_ghe_taskcluster_users" ,
85- "8Zhm4W07m9OSBlwN2h9FtQorFs6WgbQ8" :
102+ ] ,
103+ Qb2ZWerstBXCn5yCXQYU7vUfLuaZ1dMB : [ "mozilliansorg_ghe_nss-dev_users" ] ,
104+ A5hvTaSHqMyrCVMypE3TNhW4VXQzM63d : [ "mozilliansorg_ghe_nubisproject_users" ] ,
105+ VStrUcaxLXH9xQEEFX9Vkf0D5pRo5c6C : [ "mozilliansorg_ghe_projectfluent_users" ] ,
106+ WKOfTFaGTV10YKzfkMOyAl3bgi3BPFMc : [ "mozilliansorg_ghe_taskcluster_users" ] ,
107+ "8Zhm4W07m9OSBlwN2h9FtQorFs6WgbQ8" : [
86108 "mozilliansorg_ghe_mozilla-mobile_users" ,
87- vJG7CGVQutdCWpMGO9pkC5Vn4vgJzJ3I : "mozilliansorg_ghe_mozilla-ocho_users" ,
88- dlDfXM5oqapRXUvrkCarPwgTN2INIA9G : "mozilliansorg_ghe_mozilla-metrics_users" ,
89- lJbj6OE9VFK05i2XjZEiAEljamPyOCkz :
109+ ] ,
110+ vJG7CGVQutdCWpMGO9pkC5Vn4vgJzJ3I : [ "mozilliansorg_ghe_mozilla-ocho_users" ] ,
111+ dlDfXM5oqapRXUvrkCarPwgTN2INIA9G : [ "mozilliansorg_ghe_mozilla-metrics_users" ] ,
112+ lJbj6OE9VFK05i2XjZEiAEljamPyOCkz : [
90113 "mozilliansorg_ghe_mozilla-platform-ops_users" ,
91- AgiLB9xCoW4beavY9z7UuvO36DLmdwJ1 : "mozilliansorg_ghe_mozilla-rally_users" ,
92- QfJVAjXlaGzpCo5S48J9D38QvIfhlYzF : "mozilliansorg_ghe_mozilla-data_users" ,
93- UwUgLsXH6YtrWLATQpTuil2iNilYGGhF :
114+ ] ,
115+ AgiLB9xCoW4beavY9z7UuvO36DLmdwJ1 : [ "mozilliansorg_ghe_mozilla-rally_users" ] ,
116+ QfJVAjXlaGzpCo5S48J9D38QvIfhlYzF : [ "mozilliansorg_ghe_mozilla-data_users" ] ,
117+ UwUgLsXH6YtrWLATQpTuil2iNilYGGhF : [
94118 "mozilliansorg_ghe_mozilla-services_users" ,
95- RLPUxhCQsmmRHyOmDOGkLpu1mArNH3xn : "mozilliansorg_ghe_firefoxux_users" ,
96- KMcYzqySOFXHteY1zliDlq577ARCb6gi : "mozilliansorg_ghe_mozillasocial_users" ,
97- IEc83wZvZzcQXMkpUmrnb9P8wztUiokl : "mozilliansorg_ghe_mozscout_users" ,
98- vkoDkHlCEUhlHNhVDtewJqRLVLGVsPrZ :
119+ ] ,
120+ RLPUxhCQsmmRHyOmDOGkLpu1mArNH3xn : [ "mozilliansorg_ghe_firefoxux_users" ] ,
121+ KMcYzqySOFXHteY1zliDlq577ARCb6gi : [ "mozilliansorg_ghe_mozillasocial_users" ] ,
122+ IEc83wZvZzcQXMkpUmrnb9P8wztUiokl : [ "mozilliansorg_ghe_mozscout_users" ] ,
123+ vkoDkHlCEUhlHNhVDtewJqRLVLGVsPrZ : [
99124 "mozilliansorg_ghe_mozilla-fakespot_users" ,
100- T6mjvGguOB5hkq9Aviaa58tOlwpJG5o6 : "mozilliansorg_ghe_mozilla-necko_users" ,
101- ZemrAl9S2q9GKJNQUdjZCNsLiVmSEg1P : "mozilliansorg_ghe_mozilla-privacy_users" ,
102- sZHTTA4iuHgmiQGzbkS7lcXE1bbMGces : "mozilliansorg_ghe_firefoxgraphics_users" ,
103- JDiNCQVrXzw2ILureegz1T8c3OrUZCUb : "mozilliansorg_ghe_mozilla-firefox_users" ,
104- "3hrj2F7ec00Y0nYMZivYzJh6FnqydBX5" : "mozilliansorg_ghe_firefox-ai_users" ,
105- AbtfcVLkkFuMR0A1fWUvDQrVZOhEyDMA : "mozilliansorg_ghe_mozillaonline_users" ,
106- TzMKYmrhJY9XWX8f6xVHkhZHMC4BhPuj : "mozilliansorg_ghe_fxbox_users" ,
107- JT3G28PrEk9Or1bzHSu0TBsj2ETeRuXm : "mozilliansorg_ghe_mozilla-homeweb_users" ,
108- AOM1RgIbojnqYL0fvSg2Xtv6YDIBe7Xc :
125+ ] ,
126+ T6mjvGguOB5hkq9Aviaa58tOlwpJG5o6 : [ "mozilliansorg_ghe_mozilla-necko_users" ] ,
127+ ZemrAl9S2q9GKJNQUdjZCNsLiVmSEg1P : [ "mozilliansorg_ghe_mozilla-privacy_users" ] ,
128+ sZHTTA4iuHgmiQGzbkS7lcXE1bbMGces : [
129+ "mozilliansorg_ghe_firefoxgraphics_users" ,
130+ ] ,
131+ JDiNCQVrXzw2ILureegz1T8c3OrUZCUb : [ "mozilliansorg_ghe_mozilla-firefox_users" ] ,
132+ "3hrj2F7ec00Y0nYMZivYzJh6FnqydBX5" : [ "mozilliansorg_ghe_firefox-ai_users" ] ,
133+ AbtfcVLkkFuMR0A1fWUvDQrVZOhEyDMA : [ "mozilliansorg_ghe_mozillaonline_users" ] ,
134+ TzMKYmrhJY9XWX8f6xVHkhZHMC4BhPuj : [ "mozilliansorg_ghe_fxbox_users" ] ,
135+ JT3G28PrEk9Or1bzHSu0TBsj2ETeRuXm : [
136+ "mozilliansorg_ghe_mozilla-homeweb_users" ,
137+ ] ,
138+ AOM1RgIbojnqYL0fvSg2Xtv6YDIBe7Xc : [
109139 "mozilliansorg_ghe_mozilla-sensorweb_users" ,
110- gIIYBLT64qngNFQOtOrfQBe29fCDw4mJ : "mozilliansorg_ghe_project-abigail_users" ,
111- RclZSiMw5J5dbYXGkPTQJ6K31WxaGd8E :
140+ ] ,
141+ gIIYBLT64qngNFQOtOrfQBe29fCDw4mJ : [ "mozilliansorg_ghe_project-abigail_users" ] ,
142+ RclZSiMw5J5dbYXGkPTQJ6K31WxaGd8E : [
112143 "mozilliansorg_ghe_project-lighthouse_users" ,
113- PVxjlYImxnDIFaqZpiIYGu7ML1xI82Ew : "mozilliansorg_ghe_fxos-components_users" ,
144+ ] ,
145+ PVxjlYImxnDIFaqZpiIYGu7ML1xI82Ew : [ "mozilliansorg_ghe_fxos-components_users" ] ,
114146 } ;
115147
116148 // ClientID isn't mapped here, return callback() and proceed rules processing
@@ -229,15 +261,15 @@ exports.onExecutePostLogin = async (event, api) => {
229261 console . log ( "empty HACK#GITHUB" ) ;
230262 return bail ( "ghnd" ) ;
231263 }
232- // Confirm the user has the group defined from mozillians matching the
233- // application's client id.
264+ // Confirm the user has one of the groups defined from mozillians matching
265+ // the application's client id.
234266 if (
235- event . user . app_metadata . groups ?. includes (
236- applicationGroupMapping [ event . client . client_id ]
267+ applicationGroupMapping [ event . client . client_id ] . some ( ( group ) =>
268+ event . user . app_metadata . groups ?. includes ( group )
237269 )
238270 ) {
239271 console . log (
240- `Granting access for ${ githubUsername } (member of the mozillians GHE group)`
272+ `Granting access for ${ githubUsername } (member of a mozillians GHE group)`
241273 ) ;
242274 return ;
243275 }
0 commit comments