mirror of
https://github.com/discourse/discourse.git
synced 2024-11-24 13:18:33 +08:00
df535c6346
This feature ensures session cookie lifespan is extended when user is online. Also decreases session timeout from 90 to 60 days. Ensures all users (including logged on ones) get expiring sessions.
39 lines
860 B
Ruby
39 lines
860 B
Ruby
module Auth; end
|
|
class Auth::CurrentUserProvider
|
|
|
|
# do all current user initialization here
|
|
def initialize(env)
|
|
raise NotImplementedError
|
|
end
|
|
|
|
# our current user, return nil if none is found
|
|
def current_user
|
|
raise NotImplementedError
|
|
end
|
|
|
|
# log on a user and set cookies and session etc.
|
|
def log_on_user(user,session,cookies)
|
|
raise NotImplementedError
|
|
end
|
|
|
|
# optional interface to be called to refresh cookies etc if needed
|
|
def refresh_session(user,session,cookies)
|
|
end
|
|
|
|
# api has special rights return true if api was detected
|
|
def is_api?
|
|
raise NotImplementedError
|
|
end
|
|
|
|
# we may need to know very early on in the middleware if an auth token
|
|
# exists, to optimise caching
|
|
def has_auth_cookie?
|
|
raise NotImplementedError
|
|
end
|
|
|
|
|
|
def log_off_user(session, cookies)
|
|
raise NotImplementedError
|
|
end
|
|
end
|