Defect #13335 ยป autologin.patch
it-redmine/app/controllers/account_controller.rb 2013-03-01 23:01:04.642760286 -0800 | ||
---|---|---|
169 | 169 |
end |
170 | 170 | |
171 | 171 |
def open_id_authenticate(openid_url) |
172 |
authenticate_with_open_id(openid_url, :required => [:nickname, :fullname, :email], :return_to => signin_url, :method => :post) do |result, identity_url, registration| |
|
172 |
authenticate_with_open_id(openid_url, :required => [:nickname, :fullname, :email], :return_to => signin_url(:autologin => params[:autologin]), :method => :post) do |result, identity_url, registration| |
|
173 |
|
|
173 | 174 |
if result.successful? |
174 | 175 |
user = User.find_or_initialize_by_identity_url(identity_url) |
175 | 176 |
if user.new_record? |
... | ... | |
223 | 224 | |
224 | 225 |
def set_autologin_cookie(user) |
225 | 226 |
token = Token.create(:user => user, :action => 'autologin') |
226 |
cookie_name = Redmine::Configuration['autologin_cookie_name'] || 'autologin' |
|
227 | 227 |
cookie_options = { |
228 | 228 |
:value => token.value, |
229 | 229 |
:expires => 1.year.from_now, |
... | ... | |
231 | 231 |
:secure => (Redmine::Configuration['autologin_cookie_secure'] ? true : false), |
232 | 232 |
:httponly => true |
233 | 233 |
} |
234 |
cookies[cookie_name] = cookie_options |
|
234 |
cookies[autologin_cookie_name] = cookie_options
|
|
235 | 235 |
end |
236 | 236 | |
237 | 237 |
# Onthefly creation failed, display the registration form to fill/fix attributes |
it-redmine/app/controllers/application_controller.rb 2013-03-01 22:56:16.730748635 -0800 | ||
---|---|---|
32 | 32 |
protect_from_forgery |
33 | 33 |
def handle_unverified_request |
34 | 34 |
super |
35 |
cookies.delete(:autologin)
|
|
35 |
cookies.delete(autologin_cookie_name)
|
|
36 | 36 |
end |
37 | 37 | |
38 | 38 |
before_filter :session_expiration, :user_setup, :check_if_login_required, :set_localization |
... | ... | |
124 | 124 |
user |
125 | 125 |
end |
126 | 126 | |
127 |
def autologin_cookie_name |
|
128 |
return Redmine::Configuration['autologin_cookie_name'] || 'autologin' |
|
129 |
end |
|
130 |
|
|
127 | 131 |
def try_to_autologin |
128 |
if cookies[:autologin] && Setting.autologin?
|
|
132 |
if cookies[autologin_cookie_name] && Setting.autologin?
|
|
129 | 133 |
# auto-login feature starts a new session |
130 |
user = User.try_to_autologin(cookies[:autologin])
|
|
134 |
user = User.try_to_autologin(cookies[autologin_cookie_name])
|
|
131 | 135 |
if user |
132 | 136 |
reset_session |
133 | 137 |
start_user_session(user) |