Module: CurrentUser

Included in:
ApplicationController, ApplicationHelper, CustomRenderer, LoginActivator
Defined in:
lib/current_user.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.has_auth_cookie?(env) ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
# File 'lib/current_user.rb', line 4

def self.has_auth_cookie?(env)
  Discourse.current_user_provider.new(env).has_auth_cookie?
end

.lookup_from_env(env) ⇒ Object



8
9
10
# File 'lib/current_user.rb', line 8

def self.lookup_from_env(env)
  Discourse.current_user_provider.new(env).current_user
end

Instance Method Details

#clear_current_userObject

can be used to pretend current user does no exist, for CSRF attacks



13
14
15
# File 'lib/current_user.rb', line 13

def clear_current_user
  @current_user_provider = Discourse.current_user_provider.new({})
end

#current_userObject



34
35
36
# File 'lib/current_user.rb', line 34

def current_user
  current_user_provider.current_user
end

#is_api?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/current_user.rb', line 26

def is_api?
  current_user_provider.is_api?
end

#is_user_api?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/current_user.rb', line 30

def is_user_api?
  current_user_provider.is_user_api?
end

#log_off_userObject



22
23
24
# File 'lib/current_user.rb', line 22

def log_off_user
  current_user_provider.log_off_user(session, cookies)
end

#log_on_user(user, opts = {}) ⇒ Object



17
18
19
20
# File 'lib/current_user.rb', line 17

def log_on_user(user, opts = {})
  current_user_provider.log_on_user(user, session, cookies, opts)
  user.logged_in
end

#refresh_session(user) ⇒ Object



38
39
40
# File 'lib/current_user.rb', line 38

def refresh_session(user)
  current_user_provider.refresh_session(user, session, cookies)
end