* Defaults to off * Is set in the Administration panel under Authentication #699 git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2449 e93f8b46-1217-0410-a6f0-8f06a7374b81tags/0.9.0
@@ -46,10 +46,10 @@ class AccountController < ApplicationController | |||
self.logged_user = nil | |||
else | |||
# Authenticate user | |||
unless using_open_id? | |||
password_authentication | |||
else | |||
if using_open_id? && Setting.openid? | |||
open_id_authenticate(params[:openid_url]) | |||
else | |||
password_authentication | |||
end | |||
end | |||
end |
@@ -10,10 +10,12 @@ | |||
<td align="right"><label for="password"><%=l(:field_password)%>:</label></td> | |||
<td align="left"><%= password_field_tag 'password', nil, :size => 40 %></td> | |||
</tr> | |||
<% if Setting.openid? %> | |||
<tr> | |||
<td align="right"><label for="openid_url"><%=l(:field_identity_url)%></label></td> | |||
<td align="left"><%= text_field_tag "openid_url" %></td> | |||
</tr> | |||
<% end %> | |||
<tr> | |||
<td></td> | |||
<td align="left"> |
@@ -1,4 +1,4 @@ | |||
<h2><%=l(:label_register)%> <%=link_to l(:label_login_with_open_id_option), signin_url %></h2> | |||
<h2><%=l(:label_register)%><%=link_to l(:label_login_with_open_id_option), signin_url if Setting.openid? %></h2> | |||
<% form_tag({:action => 'register'}, :class => "tabular") do %> | |||
<%= error_messages_for 'user' %> | |||
@@ -29,8 +29,10 @@ | |||
<p><label for="user_language"><%=l(:field_language)%></label> | |||
<%= select("user", "language", lang_options_for_select) %></p> | |||
<% if Setting.openid? %> | |||
<p><label for="user_identity_url"><%=l(:field_identity_url)%></label> | |||
<%= text_field 'user', 'identity_url' %></p> | |||
<% end %> | |||
<% @user.custom_field_values.select {|v| v.editable? || v.required?}.each do |value| %> | |||
<p><%= custom_field_tag_with_label :user, value %></p> |
@@ -17,6 +17,9 @@ | |||
<p><label><%= l(:label_password_lost) %></label> | |||
<%= check_box_tag 'settings[lost_password]', 1, Setting.lost_password? %><%= hidden_field_tag 'settings[lost_password]', 0 %></p> | |||
<p><label><%= l(:setting_openid) %></label> | |||
<%= check_box_tag 'settings[openid]', 1, Setting.openid? %><%= hidden_field_tag 'settings[openid]', 0 %></p> | |||
</div> | |||
<div style="float:right;"> |
@@ -7,7 +7,9 @@ | |||
<p><%= f.text_field :lastname, :required => true %></p> | |||
<p><%= f.text_field :mail, :required => true %></p> | |||
<p><%= f.select :language, lang_options_for_select %></p> | |||
<% if Setting.openid? %> | |||
<p><%= f.text_field :identity_url %></p> | |||
<% end %> | |||
<% @user.custom_field_values.each do |value| %> | |||
<p><%= custom_field_tag_with_label :user, value %></p> |
@@ -143,3 +143,5 @@ emails_footer: | |||
To change your notification preferences, please click here: http://hostname/my/account | |||
gravatar_enabled: | |||
default: 0 | |||
openid: | |||
default: 0 |
@@ -229,6 +229,7 @@ setting_sequential_project_identifiers: Generate sequential project identifiers | |||
setting_gravatar_enabled: Use Gravatar user icons | |||
setting_diff_max_lines_displayed: Max number of diff lines displayed | |||
setting_repository_log_display_limit: Maximum number of revisions displayed on file log | |||
setting_openid: Allow OpenID login and registration | |||
permission_edit_project: Edit project | |||
permission_select_project_modules: Select project modules |
@@ -66,6 +66,7 @@ class AccountControllerTest < Test::Unit::TestCase | |||
def test_login_with_openid_for_existing_user | |||
Setting.self_registration = '3' | |||
Setting.openid = '1' | |||
existing_user = User.new(:firstname => 'Cool', | |||
:lastname => 'User', | |||
:mail => 'user@somedomain.com', | |||
@@ -79,6 +80,7 @@ class AccountControllerTest < Test::Unit::TestCase | |||
def test_login_with_openid_with_new_user_created | |||
Setting.self_registration = '3' | |||
Setting.openid = '1' | |||
post :login, :openid_url => 'http://openid.example.com/good_user' | |||
assert_redirected_to 'my/account' | |||
user = User.find_by_login('cool_user') | |||
@@ -89,6 +91,7 @@ class AccountControllerTest < Test::Unit::TestCase | |||
def test_login_with_openid_with_new_user_and_self_registration_off | |||
Setting.self_registration = '0' | |||
Setting.openid = '1' | |||
post :login, :openid_url => 'http://openid.example.com/good_user' | |||
assert_redirected_to home_url | |||
user = User.find_by_login('cool_user') | |||
@@ -97,6 +100,7 @@ class AccountControllerTest < Test::Unit::TestCase | |||
def test_login_with_openid_with_new_user_created_with_email_activation_should_have_a_token | |||
Setting.self_registration = '1' | |||
Setting.openid = '1' | |||
post :login, :openid_url => 'http://openid.example.com/good_user' | |||
assert_redirected_to 'login' | |||
user = User.find_by_login('cool_user') | |||
@@ -108,6 +112,7 @@ class AccountControllerTest < Test::Unit::TestCase | |||
def test_login_with_openid_with_new_user_created_with_manual_activation | |||
Setting.self_registration = '2' | |||
Setting.openid = '1' | |||
post :login, :openid_url => 'http://openid.example.com/good_user' | |||
assert_redirected_to 'login' | |||
user = User.find_by_login('cool_user') | |||
@@ -117,6 +122,7 @@ class AccountControllerTest < Test::Unit::TestCase | |||
def test_login_with_openid_with_new_user_with_conflict_should_register | |||
Setting.self_registration = '3' | |||
Setting.openid = '1' | |||
existing_user = User.new(:firstname => 'Cool', :lastname => 'User', :mail => 'user@somedomain.com') | |||
existing_user.login = 'cool_user' | |||
assert existing_user.save! |