otrs.rb 802 B

1234567891011121314151617181920212223242526272829
  1. # Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/
  2. module Sso::Otrs
  3. def self.check( params, _config_item )
  4. endpoint = Setting.get('import_otrs_endpoint')
  5. return false if !endpoint
  6. return false if endpoint.empty?
  7. return false if endpoint == 'http://otrs_host/otrs'
  8. return false if !params['SessionID']
  9. # connect to OTRS
  10. result = Import::OTRS.session( params['SessionID'] )
  11. return false if !result
  12. return false if !result['groups_ro']
  13. return false if !result['groups_rw']
  14. return false if !result['user']
  15. user = User.where( login: result['user']['UserLogin'], active: true ).first
  16. if !user
  17. Rails.logger.info "No such user #{result['user']['UserLogin']}, requested for SSO!"
  18. return
  19. end
  20. user
  21. end
  22. end