diff options
author | Lin Jen-Shin <godfat@godfat.org> | 2017-07-17 22:38:37 +0800 |
---|---|---|
committer | Lin Jen-Shin <godfat@godfat.org> | 2017-07-17 22:38:37 +0800 |
commit | 65e722ee977a3fcd44fb272aa716dfa679385759 (patch) | |
tree | 3fee24a0e09670909df47163fc8d97fb2cc6380d /lib/api/v3 | |
parent | 550ccf443059412a26adfcba15fbe9d05d39a5f9 (diff) | |
parent | 05329d4a364a5c55f2de9546871de1909b6be3f5 (diff) | |
download | gitlab-ce-65e722ee977a3fcd44fb272aa716dfa679385759.tar.gz |
Merge remote-tracking branch 'upstream/master' into 30634-protected-pipeline
* upstream/master: (638 commits)
Simplify background migrations stealing code
Expire cached user IDs that can see the performance after 5 minutes
Promote visibility level helpers from Group to Namespace
Fix off-by-one error in background migration retries
Recover from all exceptions when stealing bg migration
Fix label creation from new list for subgroup projects
move click handler to button. when on the icon it wasn't triggered in firefox
Fix incorrect AWS ELB metrics.
Fix wrong link to docs in docs styleguide
Update issue-related docs
Refactor groups docs
Add subgroups limitations to Pages docs
Update Google launcher details
Split docs on IP whitelist for monitoring access
Update health check docs
Bump fog-core to 1.44.3 and fog providers' plugins to latest
Introduce have_gitlab_http_status
Remove Repository#search_files
Update Pipeline's badge count in Merge Request and Commits view to match real-time content
Fixes the user order being overriden in the autocomplete controller
...
Diffstat (limited to 'lib/api/v3')
-rw-r--r-- | lib/api/v3/entities.rb | 3 | ||||
-rw-r--r-- | lib/api/v3/settings.rb | 14 | ||||
-rw-r--r-- | lib/api/v3/users.rb | 4 |
3 files changed, 16 insertions, 5 deletions
diff --git a/lib/api/v3/entities.rb b/lib/api/v3/entities.rb index c848f52723b..3759250f7f6 100644 --- a/lib/api/v3/entities.rb +++ b/lib/api/v3/entities.rb @@ -161,7 +161,8 @@ module API expose :id expose :default_projects_limit expose :signup_enabled - expose :signin_enabled + expose :password_authentication_enabled + expose :password_authentication_enabled, as: :signin_enabled expose :gravatar_enabled expose :sign_in_text expose :after_sign_up_text diff --git a/lib/api/v3/settings.rb b/lib/api/v3/settings.rb index 748d6b97d4f..202011cfcbe 100644 --- a/lib/api/v3/settings.rb +++ b/lib/api/v3/settings.rb @@ -44,7 +44,9 @@ module API requires :domain_blacklist, type: String, desc: 'Users with e-mail addresses that match these domain(s) will NOT be able to sign-up. Wildcards allowed. Use separate lines for multiple entries. Ex: domain.com, *.domain.com' end optional :after_sign_up_text, type: String, desc: 'Text shown after sign up' - optional :signin_enabled, type: Boolean, desc: 'Flag indicating if sign in is enabled' + optional :password_authentication_enabled, type: Boolean, desc: 'Flag indicating if password authentication is enabled' + optional :signin_enabled, type: Boolean, desc: 'Flag indicating if password authentication is enabled' + mutually_exclusive :password_authentication_enabled, :signin_enabled optional :require_two_factor_authentication, type: Boolean, desc: 'Require all users to setup Two-factor authentication' given require_two_factor_authentication: ->(val) { val } do requires :two_factor_grace_period, type: Integer, desc: 'Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication' @@ -116,7 +118,7 @@ module API :max_attachment_size, :session_expire_delay, :disabled_oauth_sign_in_sources, :user_oauth_applications, :user_default_external, :signup_enabled, :send_user_confirmation_email, :domain_whitelist, :domain_blacklist_enabled, - :after_sign_up_text, :signin_enabled, :require_two_factor_authentication, + :after_sign_up_text, :password_authentication_enabled, :signin_enabled, :require_two_factor_authentication, :home_page_url, :after_sign_out_path, :sign_in_text, :help_page_text, :shared_runners_enabled, :max_artifacts_size, :max_pages_size, :container_registry_token_expire_delay, :metrics_enabled, :sidekiq_throttling_enabled, :recaptcha_enabled, @@ -126,7 +128,13 @@ module API :housekeeping_enabled, :terminal_max_session_time end put "application/settings" do - if current_settings.update_attributes(declared_params(include_missing: false)) + attrs = declared_params(include_missing: false) + + if attrs.has_key?(:signin_enabled) + attrs[:password_authentication_enabled] = attrs.delete(:signin_enabled) + end + + if current_settings.update_attributes(attrs) present current_settings, with: Entities::ApplicationSetting else render_validation_error!(current_settings) diff --git a/lib/api/v3/users.rb b/lib/api/v3/users.rb index 37020019e07..cf106f2552d 100644 --- a/lib/api/v3/users.rb +++ b/lib/api/v3/users.rb @@ -2,9 +2,11 @@ module API module V3 class Users < Grape::API include PaginationParams + include APIGuard + + allow_access_with_scope :read_user, if: -> (request) { request.get? } before do - allow_access_with_scope :read_user if request.get? authenticate! end |