Commit b8df02f
feat(fab): Add configurable role key for Azure OAuth groups (apache#61585)
* feat(fab): Add configurable role key for Azure OAuth groups
Add AUTH_OAUTH_ROLE_KEYS configuration to allow Azure AD OAuth
to use 'groups' claim instead of hardcoded 'roles' claim.
This enables organizations using Azure AD groups for access control
to map group memberships to Airflow roles without requiring custom
app role definitions.
Changes:
- Add AUTH_OAUTH_ROLE_KEYS config support in get_oauth_user_info
- Default to 'roles' for backward compatibility
- Add test case for Azure OAuth with groups configuration
- Add documentation for Azure AD group-based authorization
* Fix Azure OAuth to support configurable role key via AUTH_OAUTH_ROLE_KEYS
- Add has_app_context() check in get_oauth_user_info() to support both production and test environments
- Update test to use real Flask app context instead of mocking current_app
* Remove has_app_context() check per review feedback
- Removed has_app_context() conditional in Azure OAuth handler
- Added Flask app context to tests to simulate production environment
- Updated test_get_oauth_user_info to provide Flask context for all providers
- Updated test_get_oauth_user_info_azure_with_groups_config with app.config setup
Per committer feedback: "this function is always called within the request context"1 parent 4dc1e4d commit b8df02f
3 files changed
Lines changed: 118 additions & 11 deletions
File tree
- providers/fab
- docs/auth-manager
- src/airflow/providers/fab/auth_manager/security_manager
- tests/unit/fab/auth_manager/security_manager
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
204 | 204 | | |
205 | 205 | | |
206 | 206 | | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
207 | 266 | | |
208 | 267 | | |
209 | 268 | | |
| |||
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2150 | 2150 | | |
2151 | 2151 | | |
2152 | 2152 | | |
| 2153 | + | |
2153 | 2154 | | |
2154 | 2155 | | |
2155 | 2156 | | |
2156 | 2157 | | |
2157 | 2158 | | |
2158 | | - | |
| 2159 | + | |
2159 | 2160 | | |
2160 | 2161 | | |
2161 | 2162 | | |
| |||
Lines changed: 57 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
135 | 135 | | |
136 | 136 | | |
137 | 137 | | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
138 | 155 | | |
139 | 156 | | |
140 | 157 | | |
| |||
234 | 251 | | |
235 | 252 | | |
236 | 253 | | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | | - | |
242 | | - | |
243 | | - | |
244 | | - | |
245 | | - | |
246 | | - | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
0 commit comments