|
104 | 104 | DD_SOCIAL_AUTH_CREATE_USER=(bool, True), # if True creates user at first login
|
105 | 105 | DD_SOCIAL_LOGIN_AUTO_REDIRECT=(bool, False), # auto-redirect if there is only one social login method
|
106 | 106 | DD_SOCIAL_AUTH_TRAILING_SLASH=(bool, True),
|
| 107 | + DD_SOCIAL_AUTH_OIDC_AUTH_ENABLED=(bool, False), |
| 108 | + DD_SOCIAL_AUTH_OIDC_OIDC_ENDPOINT=(str, ""), |
| 109 | + DD_SOCIAL_AUTH_OIDC_ID_KEY=(str, ""), |
| 110 | + DD_SOCIAL_AUTH_OIDC_KEY=(str, ""), |
| 111 | + DD_SOCIAL_AUTH_OIDC_SECRET=(str, ""), |
| 112 | + DD_SOCIAL_AUTH_OIDC_USERNAME_KEY=(str, ""), |
| 113 | + DD_SOCIAL_AUTH_OIDC_WHITELISTED_DOMAINS=(list, []), |
| 114 | + DD_SOCIAL_AUTH_OIDC_JWT_ALGORITHMS=(list, ["RS256", "HS256"]), |
| 115 | + DD_SOCIAL_AUTH_OIDC_ID_TOKEN_ISSUER=(str, ""), |
| 116 | + DD_SOCIAL_AUTH_OIDC_ACCESS_TOKEN_URL=(str, ""), |
| 117 | + DD_SOCIAL_AUTH_OIDC_AUTHORIZATION_URL=(str, ""), |
| 118 | + DD_SOCIAL_AUTH_OIDC_USERINFO_URL=(str, ""), |
| 119 | + DD_SOCIAL_AUTH_OIDC_JWKS_URI=(str, ""), |
107 | 120 | DD_SOCIAL_AUTH_AUTH0_OAUTH2_ENABLED=(bool, False),
|
108 | 121 | DD_SOCIAL_AUTH_AUTH0_KEY=(str, ""),
|
109 | 122 | DD_SOCIAL_AUTH_AUTH0_SECRET=(str, ""),
|
@@ -484,6 +497,7 @@ def generate_url(scheme, double_slashes, user, password, host, port, path, param
|
484 | 497 |
|
485 | 498 | # These are the individidual modules supported by social-auth
|
486 | 499 | AUTHENTICATION_BACKENDS = (
|
| 500 | + "social_core.backends.open_id_connect.OpenIdConnectAuth", |
487 | 501 | "social_core.backends.auth0.Auth0OAuth2",
|
488 | 502 | "social_core.backends.google.GoogleOAuth2",
|
489 | 503 | "social_core.backends.okta.OktaOAuth2",
|
@@ -576,6 +590,31 @@ def generate_url(scheme, double_slashes, user, password, host, port, path, param
|
576 | 590 | if GITLAB_PROJECT_AUTO_IMPORT:
|
577 | 591 | SOCIAL_AUTH_GITLAB_SCOPE += ["read_repository"]
|
578 | 592 |
|
| 593 | +# Mandatory settings |
| 594 | +OIDC_AUTH_ENABLED = env("DD_SOCIAL_AUTH_OIDC_AUTH_ENABLED") |
| 595 | +SOCIAL_AUTH_OIDC_OIDC_ENDPOINT = env("DD_SOCIAL_AUTH_OIDC_OIDC_ENDPOINT") |
| 596 | +SOCIAL_AUTH_OIDC_KEY = env("DD_SOCIAL_AUTH_OIDC_KEY") |
| 597 | +SOCIAL_AUTH_OIDC_SECRET = env("DD_SOCIAL_AUTH_OIDC_SECRET") |
| 598 | +# Optional settings |
| 599 | +if value := env("DD_SOCIAL_AUTH_OIDC_ID_KEY"): |
| 600 | + SOCIAL_AUTH_OIDC_ID_KEY = value |
| 601 | +if value := env("DD_SOCIAL_AUTH_OIDC_USERNAME_KEY"): |
| 602 | + SOCIAL_AUTH_OIDC_USERNAME_KEY = value |
| 603 | +if value := env("DD_SOCIAL_AUTH_OIDC_WHITELISTED_DOMAINS"): |
| 604 | + SOCIAL_AUTH_OIDC_WHITELISTED_DOMAINS = env("DD_SOCIAL_AUTH_OIDC_WHITELISTED_DOMAINS") |
| 605 | +if value := env("DD_SOCIAL_AUTH_OIDC_JWT_ALGORITHMS"): |
| 606 | + SOCIAL_AUTH_OIDC_JWT_ALGORITHMS = env("DD_SOCIAL_AUTH_OIDC_JWT_ALGORITHMS") |
| 607 | +if value := env("DD_SOCIAL_AUTH_OIDC_ID_TOKEN_ISSUER"): |
| 608 | + SOCIAL_AUTH_OIDC_ID_TOKEN_ISSUER = value |
| 609 | +if value := env("DD_SOCIAL_AUTH_OIDC_ACCESS_TOKEN_URL"): |
| 610 | + SOCIAL_AUTH_OIDC_ACCESS_TOKEN_URL = value |
| 611 | +if value := env("DD_SOCIAL_AUTH_OIDC_AUTHORIZATION_URL"): |
| 612 | + SOCIAL_AUTH_OIDC_AUTHORIZATION_URL = value |
| 613 | +if value := env("DD_SOCIAL_AUTH_OIDC_USERINFO_URL"): |
| 614 | + SOCIAL_AUTH_OIDC_USERINFO_URL = value |
| 615 | +if value := env("DD_SOCIAL_AUTH_OIDC_JWKS_URI"): |
| 616 | + SOCIAL_AUTH_OIDC_JWKS_URI = value |
| 617 | + |
579 | 618 | AUTH0_OAUTH2_ENABLED = env("DD_SOCIAL_AUTH_AUTH0_OAUTH2_ENABLED")
|
580 | 619 | SOCIAL_AUTH_AUTH0_KEY = env("DD_SOCIAL_AUTH_AUTH0_KEY")
|
581 | 620 | SOCIAL_AUTH_AUTH0_SECRET = env("DD_SOCIAL_AUTH_AUTH0_SECRET")
|
@@ -628,6 +667,7 @@ def generate_url(scheme, double_slashes, user, password, host, port, path, param
|
628 | 667 | rf"^{URL_PREFIX}api/v2/",
|
629 | 668 | r"complete/",
|
630 | 669 | r"empty_questionnaire/([\d]+)/answer",
|
| 670 | + r"oauth2/idpresponse", |
631 | 671 | rf"^{URL_PREFIX}password_reset/",
|
632 | 672 | rf"^{URL_PREFIX}forgot_username",
|
633 | 673 | rf"^{URL_PREFIX}reset/",
|
|
0 commit comments