mirror of https://github.com/jumpserver/jumpserver
				
				
				
			perf: Log IntegrityError details during user authentication
							parent
							
								
									e1f5d3c737
								
							
						
					
					
						commit
						cc4be36752
					
				| 
						 | 
				
			
			@ -171,9 +171,10 @@ class OIDCAuthCallbackView(View, FlashMessageMixin):
 | 
			
		|||
            logger.debug(log_prompt.format('Process authenticate'))
 | 
			
		||||
            try:
 | 
			
		||||
                user = auth.authenticate(nonce=nonce, request=request, code_verifier=code_verifier)
 | 
			
		||||
            except IntegrityError:
 | 
			
		||||
            except IntegrityError as e:
 | 
			
		||||
                title = _("OpenID Error")
 | 
			
		||||
                msg = _('Please check if a user with the same username or email already exists')
 | 
			
		||||
                logger.error(e, exc_info=True)
 | 
			
		||||
                response = self.get_failed_response('/', title, msg)
 | 
			
		||||
                return response
 | 
			
		||||
            if user:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -278,9 +278,10 @@ class Saml2AuthCallbackView(View, PrepareRequestMixin, FlashMessageMixin):
 | 
			
		|||
        saml_user_data = self.get_attributes(saml_instance)
 | 
			
		||||
        try:
 | 
			
		||||
            user = auth.authenticate(request=request, saml_user_data=saml_user_data)
 | 
			
		||||
        except IntegrityError:
 | 
			
		||||
        except IntegrityError as e:
 | 
			
		||||
            title = _("SAML2 Error")
 | 
			
		||||
            msg = _('Please check if a user with the same username or email already exists')
 | 
			
		||||
            logger.error(e, exc_info=True)
 | 
			
		||||
            response = self.get_failed_response('/', title, msg)
 | 
			
		||||
            return response
 | 
			
		||||
        if user and user.is_valid:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -150,6 +150,7 @@ class BaseBindCallbackView(FlashMessageMixin, IMClientMixin, View):
 | 
			
		|||
            user.save()
 | 
			
		||||
        except IntegrityError as e:
 | 
			
		||||
            msg = _('The %s is already bound to another user') % self.auth_type_label
 | 
			
		||||
            logger.error(e, exc_info=True)
 | 
			
		||||
            response = self.get_failed_response(redirect_url, msg, msg)
 | 
			
		||||
            return response
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -144,6 +144,7 @@ class DingTalkQRBindCallbackView(DingTalkQRMixin, View):
 | 
			
		|||
            user.save()
 | 
			
		||||
        except IntegrityError as e:
 | 
			
		||||
            msg = _('The DingTalk is already bound to another user')
 | 
			
		||||
            logger.error(e, exc_info=True)
 | 
			
		||||
            response = self.get_failed_response(redirect_url, msg, msg)
 | 
			
		||||
            return response
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue