Skip to content
Snippets Groups Projects
  1. Aug 01, 2018
  2. Jul 30, 2018
  3. Jul 24, 2018
  4. Jul 23, 2018
  5. Jun 13, 2018
  6. Jun 07, 2018
  7. May 22, 2018
  8. Apr 23, 2018
  9. Feb 06, 2018
  10. Nov 21, 2017
  11. Nov 06, 2017
  12. Nov 02, 2017
  13. Oct 20, 2017
  14. Sep 28, 2017
  15. Sep 26, 2017
  16. Sep 18, 2017
  17. Sep 05, 2017
  18. Aug 28, 2017
  19. Aug 11, 2017
  20. Aug 01, 2017
  21. Jul 25, 2017
  22. Jul 12, 2017
  23. Jul 11, 2017
  24. Jul 07, 2017
  25. Jul 05, 2017
    • Timothy Andrew's avatar
      Fix build for !12300. · 94258a65
      Timothy Andrew authored
      - The `/users` and `/users/:id` APIs are now accessible without
        authentication (!12445), and so scopes are not relevant for these endpoints.
      
      - Previously, we were testing our scope declaration against these two methods.
        This commit moves these tests to other `GET` user endpoints which still
        require authentication.
      94258a65
  26. Jul 04, 2017
  27. Jun 30, 2017
    • Timothy Andrew's avatar
      Implement review comments for !12445 from @godfat and @rymai. · 3c88a786
      Timothy Andrew authored
      - Use `GlobalPolicy` to authorize the users that a non-authenticated user can
        fetch from `/api/v4/users`. We allow access if the `Gitlab::VisibilityLevel::PUBLIC`
        visibility level is not restricted.
      
      - Further, as before, `/api/v4/users` is only accessible to unauthenticated users if
        the `username` parameter is passed.
      
      - Turn off `authenticate!` for the `/api/v4/users` endpoint by matching on the actual
        route + method, rather than the description.
      
      - Change the type of `current_user` check in `UsersFinder` to be more
        compatible with EE.
      3c88a786
  28. Jun 28, 2017
    • Timothy Andrew's avatar
      Test `/users` endpoints for the `read_user` scope. · 157c05f4
      Timothy Andrew authored
      - Test `GET` endpoints to check that the scope is allowed.
      - Test `POST` endpoints to check that the scope is disallowed.
      - Test both `v3` and `v4` endpoints.
      157c05f4
    • Timothy Andrew's avatar
      Allow API scope declarations to be applied conditionally. · 80c1ebaa
      Timothy Andrew authored
      - Scope declarations of the form:
      
          allow_access_with_scope :read_user, if: -> (request) { request.get? }
      
        will only apply for `GET` requests
      
      - Add a negative test to a `POST` endpoint in the `users` API to test this. Also
        test for this case in the `AccessTokenValidationService` unit tests.
      80c1ebaa
    • Timothy Andrew's avatar
      Initial attempt at refactoring API scope declarations. · 6f192250
      Timothy Andrew authored
      - Declaring an endpoint's scopes in a `before` block has proved to be
        unreliable. For example, if we're accessing the `API::Users` endpoint - code
        in a `before` block in `API::API` wouldn't be able to see the scopes set in
        `API::Users` since the `API::API` `before` block runs first.
      
      - This commit moves these declarations to the class level, since they don't need
        to change once set.
      6f192250
  29. Jun 26, 2017
    • Timothy Andrew's avatar
      Allow unauthenticated access to the `/api/v4/users` API. · 20f679d6
      Timothy Andrew authored
      - The issue filtering frontend code needs access to this API for non-logged-in
        users + public projects. It uses the API to fetch information for a user by
        username.
      
      - We don't authenticate this API anymore, but instead - if the `current_user` is
        not present:
      
        - Verify that the `username` parameter has been passed. This disallows an
          unauthenticated user from grabbing a list of all users on the instance. The
          `UsersFinder` class performs an exact match on the `username`, so we are
          guaranteed to get 0 or 1 users.
        - Verify that the resulting user (if any) is accessible to be viewed publicly
          by calling `can?(current_user, :read_user, user)`
      20f679d6
  30. Jun 23, 2017
  31. Jun 21, 2017
  32. Jun 20, 2017
Loading