code: def get(self, request):
          
  
          nonce = request.session.get('oidc_nonce')
          if nonce:
              # Make sure that nonce is not used twice
              del request.session['oidc_nonce']
  
          if request.GET.get('error'):
              # Ouch! Something important failed.
              # Make sure the user doesn't get to continue to be logged in
              # otherwise the refresh middleware will force the user to
              # redirect to authorize again if the session refresh has
              # expired.
              if is_authenticated(request.user):
                  auth.logout(request)
              assert not is_authenticated(request.user)
          elif 'code' in request.GET and 'state' in request.GET:
              kwargs = {
                  'request': request,
                  'nonce': nonce,
              }
  
              if 'oidc_state' not in request.session:
                  return self.login_failure()
  
              if request.GET['state'] != request.session['oidc_state']:
                  msg = 'Session `oidc_state` does not match the OIDC callback state'
                  raise SuspiciousOperation(msg)
  
              self.user = auth.authenticate(**kwargs)
  
              if self.user and self.user.is_active:
                  return self.login_success()
          return self.login_failure()
docs: Callback handler for OIDC authorization code flow