This is an automated email from the ASF dual-hosted git repository. machristie pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git
commit d4c2391801f577e67d07fac1727388c2d62babb6 Merge: e2f62c6 b23f2c3 Author: Marcus Christie <machris...@apache.org> AuthorDate: Mon May 11 11:15:07 2020 -0400 Merge branch 'AIRAVATA-3332' into develop django_airavata/apps/api/views.py | 3 + django_airavata/apps/auth/backends.py | 44 +- .../media/images/SARS-CoV-2.max-165x165.png | Bin 0 -> 56685 bytes .../media/images/SARS-CoV-2.max-800x600.png | Bin 0 -> 48306 bytes .../media/images/SARS-CoV-2.original.png | Bin 0 -> 48306 bytes .../media/images/SARS-CoV-2.width-800.png | Bin 0 -> 48306 bytes .../media/images/bg-header.max-165x165.jpg | Bin 0 -> 11402 bytes .../media/images/bg-header.max-800x600.jpg | Bin 0 -> 158955 bytes .../media/images/bg-header.original.jpg | Bin 0 -> 496849 bytes ...e-brasil-guys-avpaulista-109919.max-165x165.jpg | Bin 0 -> 18423 bytes ...ople-brasil-guys-avpaulista-109919.original.jpg | Bin 0 -> 153370 bytes ...ding-laboratory-flask-2280571_1.max-165x165.jpg | Bin 0 -> 16783 bytes ...holding-laboratory-flask-2280571_1.original.jpg | Bin 0 -> 249563 bytes ...g-laboratory-flask-2280571_1_Zd.max-165x165.jpg | Bin 0 -> 16783 bytes .../media/images/physicell-logo-01.max-165x165.png | Bin 0 -> 52343 bytes .../media/images/physicell-logo-01.max-800x600.png | Bin 0 -> 52962 bytes .../media/images/physicell-logo-01.original.png | Bin 0 -> 52962 bytes .../media/images/physicell-logo-01.width-800.png | Bin 0 -> 52962 bytes .../media/images/snapshot00000240.max-165x165.jpg | Bin 0 -> 31904 bytes .../media/images/snapshot00000240.max-800x600.jpg | Bin 0 -> 76941 bytes .../media/images/snapshot00000240.width-800.jpg | Bin 0 -> 76941 bytes .../images/virus-1812092_1920.max-165x165.jpg | Bin 0 -> 11402 bytes .../images/virus-1812092_1920.max-800x600.jpg | Bin 0 -> 158955 bytes .../media/images/virus-1812092_1920.original.jpg | Bin 0 -> 496849 bytes django_airavata/media/images/virus.max-165x165.png | Bin 0 -> 17297 bytes django_airavata/media/images/virus.original.png | Bin 0 -> 34360 bytes .../media/images/virus_1.max-165x165.png | Bin 0 -> 23232 bytes django_airavata/media/images/virus_1.original.png | Bin 0 -> 48171 bytes .../media/images/virus_2.max-165x165.png | Bin 0 -> 24997 bytes django_airavata/media/images/virus_2.original.png | Bin 0 -> 50386 bytes .../media/images/virus_3.max-165x165.png | Bin 0 -> 24997 bytes django_airavata/media/images/virus_3.original.png | Bin 0 -> 50386 bytes .../media/images/virus_3_8bogaM1.max-165x165.png | Bin 0 -> 24997 bytes .../static/common/js/components/Uppy.vue | 3 + .../wagtailapps/base/fixtures/physicell.json | 3527 ++++++++++++++++++++ 35 files changed, 3559 insertions(+), 18 deletions(-) diff --cc django_airavata/apps/auth/backends.py index 119a635,bca2881..98bf55a --- a/django_airavata/apps/auth/backends.py +++ b/django_airavata/apps/auth/backends.py @@@ -59,27 -61,31 +61,33 @@@ class KeycloakBackend(object) except User.DoesNotExist: return None + @sensitive_variables('client_secret') def _get_token_and_userinfo_password_flow(self, username, password): - client_id = settings.KEYCLOAK_CLIENT_ID - client_secret = settings.KEYCLOAK_CLIENT_SECRET - token_url = settings.KEYCLOAK_TOKEN_URL - userinfo_url = settings.KEYCLOAK_USERINFO_URL - verify_ssl = settings.KEYCLOAK_VERIFY_SSL - oauth2_session = OAuth2Session(client=LegacyApplicationClient( - client_id=client_id)) - if hasattr(settings, 'KEYCLOAK_CA_CERTFILE'): - oauth2_session.verify = settings.KEYCLOAK_CA_CERTFILE - token = oauth2_session.fetch_token(token_url=token_url, - username=username, - password=password, - client_id=client_id, - client_secret=client_secret, - verify=verify_ssl) - userinfo = oauth2_session.get(userinfo_url).json() - return token, userinfo + try: + client_id = settings.KEYCLOAK_CLIENT_ID + client_secret = settings.KEYCLOAK_CLIENT_SECRET + token_url = settings.KEYCLOAK_TOKEN_URL + userinfo_url = settings.KEYCLOAK_USERINFO_URL + verify_ssl = settings.KEYCLOAK_VERIFY_SSL + oauth2_session = OAuth2Session(client=LegacyApplicationClient( + client_id=client_id)) + if hasattr(settings, 'KEYCLOAK_CA_CERTFILE'): + oauth2_session.verify = settings.KEYCLOAK_CA_CERTFILE + token = oauth2_session.fetch_token(token_url=token_url, + username=username, + password=password, + client_id=client_id, + client_secret=client_secret, + verify=verify_ssl) + userinfo = oauth2_session.get(userinfo_url).json() + return token, userinfo + except InvalidGrantError as e: + # password wasn't valid, just log as a warning + logger.warning(f"Failed to log in user {username} with " + f"password: {e}") + return None, None + @sensitive_variables('client_secret') def _get_token_and_userinfo_redirect_flow(self, request): authorization_code_url = request.build_absolute_uri() client_id = settings.KEYCLOAK_CLIENT_ID