Merge branch 'dev_trustie' into dev_devops
This commit is contained in:
commit
57ee5c5397
|
@ -246,6 +246,8 @@ class AccountsController < ApplicationController
|
|||
|
||||
def set_autologin_cookie(user)
|
||||
token = Token.get_or_create_permanent_login_token(user, "autologin")
|
||||
sync_user_token_to_trustie(user.login, token.value)
|
||||
|
||||
cookie_options = {
|
||||
:value => token.value,
|
||||
:expires => 1.month.from_now,
|
||||
|
|
|
@ -11,13 +11,15 @@ module LoginHelper
|
|||
|
||||
def set_autologin_cookie(user)
|
||||
token = Token.get_or_create_permanent_login_token(user, "autologin")
|
||||
sync_user_token_to_trustie(user.login, token.value)
|
||||
|
||||
Rails.logger.info "###### def set_autologin_cookie and get_or_create_permanent_login_token result: #{token&.value}"
|
||||
cookie_options = {
|
||||
:value => token.value,
|
||||
:expires => 1.month.from_now,
|
||||
:path => '/',
|
||||
:secure => false,
|
||||
:httponly => false
|
||||
:httponly => true
|
||||
}
|
||||
if edu_setting('cookie_domain').present?
|
||||
cookie_options = cookie_options.merge(domain: edu_setting('cookie_domain'))
|
||||
|
@ -51,11 +53,16 @@ module LoginHelper
|
|||
Rails.logger.info("####################__User.current_id______######{current_user.try(:id)}###___#{current_user&.logged?}")
|
||||
|
||||
if User.current.logged?
|
||||
if autologin = cookies.delete(autologin_cookie_name)
|
||||
user = User.current
|
||||
autologin =
|
||||
if edu_setting('cookie_domain').present?
|
||||
cookies.delete(autologin_cookie_name, domain: edu_setting('cookie_domain'))
|
||||
else
|
||||
cookies.delete(autologin_cookie_name)
|
||||
end
|
||||
|
||||
User.current.delete_autologin_token(autologin)
|
||||
end
|
||||
User.current.delete_session_token(session[:tk])
|
||||
user.delete_autologin_token(autologin)
|
||||
user.delete_session_token(session[:tk])
|
||||
self.logged_user = nil
|
||||
end
|
||||
|
||||
|
@ -68,7 +75,7 @@ module LoginHelper
|
|||
|
||||
# Sets the logged in user
|
||||
def logged_user=(user)
|
||||
# reset_session
|
||||
reset_session
|
||||
if user && user.is_a?(User)
|
||||
Rails.logger.info("########________logged_user___________###########{user.id}")
|
||||
|
||||
|
@ -111,4 +118,32 @@ module LoginHelper
|
|||
false
|
||||
end
|
||||
end
|
||||
|
||||
# TODO 同步token到trustie平台,保持同步登录状态
|
||||
def sync_user_token_to_trustie(login, token_value)
|
||||
|
||||
config = Rails.application.config_for(:configuration).symbolize_keys!
|
||||
|
||||
token = config[:sync_token]
|
||||
api_host = config[:sync_url]
|
||||
|
||||
url = "#{api_host}/api/v1/users/sync_user_token"
|
||||
sync_json = {
|
||||
"token": token,
|
||||
"login": type,
|
||||
"user_token": token_value
|
||||
}
|
||||
uri = URI.parse(url)
|
||||
|
||||
if api_host
|
||||
http = Net::HTTP.new(uri.hostname, uri.port)
|
||||
|
||||
if api_host.include?("https://")
|
||||
http.use_ssl = true
|
||||
end
|
||||
|
||||
http.send_request('PUT', uri.path, sync_json.to_json, {'Content-Type' => 'application/json'})
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue