grafana/pkg/middleware
Oleg Gaidarenko d88fdc86fc Auth: Do not search for the user twice (#18366)
* Auth: Do not search for the user twice

Previously `initContextWithBasicAuth` did not use `LoginUserQuery`, doing
`GetUserByLoginQuery` only i.e. looking user in DB only, things changed when
this function started to check LDAP provider via `LoginUserQuery` (#6940),
however, this request was placed after `GetUserByLoginQuery`, so we first
looking in DB then in the LDAP - if LDAP user hasn't logged in we will
not find it in DB, so `LoginUserQuery` will never be reached.

`LoginUserQuery` request already performs `GetUserByLoginQuery`
request in correct sequence. So we can just remove redundant request.

* Correct sequence execution during authentification &
  introduce tests for it

* Move basic auth tests to separate test file, since main test file already
  pretty large

* Introduce `testing.go` for the middleware module

* Remove redundant test helper function

* Make handler names more explicit

Ref 5777f65d05
Fixes #18329

* Auth: address review comment
2019-08-03 21:50:05 +02:00
..
auth_proxy Auth Proxy: Include additional headers as part of the cache key (#18298) 2019-07-31 11:23:00 +01:00
auth_proxy.go Auth Proxy: Log any error in middleware (#17275) 2019-05-27 10:38:17 +02:00
auth_test.go Chore: use remote cache instead of session storage (#16114) 2019-04-08 14:31:46 +03:00
auth.go teams: better names for api permissions. 2019-03-19 14:01:20 +01:00
dashboard_redirect_test.go Chore: use remote cache instead of session storage (#16114) 2019-04-08 14:31:46 +03:00
dashboard_redirect.go Revert "Opportunities to unindent code (unindent)" 2018-05-02 14:06:46 +02:00
headers.go refactor datasource caching 2018-10-30 09:31:56 +01:00
logger.go rename Context to ReqContext 2018-03-07 11:54:50 -05:00
middleware_basic_auth_test.go Auth: Do not search for the user twice (#18366) 2019-08-03 21:50:05 +02:00
middleware_test.go Auth: Do not search for the user twice (#18366) 2019-08-03 21:50:05 +02:00
middleware.go Auth: Do not search for the user twice (#18366) 2019-08-03 21:50:05 +02:00
org_redirect_test.go Auth: Enable retries and transaction for some db calls for auth tokens (#16785) 2019-04-30 14:42:01 +02:00
org_redirect.go login users based on token cookie 2019-01-16 16:44:40 +01:00
perf.go rename Context to ReqContext 2018-03-07 11:54:50 -05:00
quota_test.go Auth: Enable retries and transaction for some db calls for auth tokens (#16785) 2019-04-30 14:42:01 +02:00
quota.go use authtoken for session quota restrictions 2019-02-12 15:10:55 +01:00
recovery_test.go Security: Responses from backend should not be cached (#16848) 2019-05-06 09:22:59 +02:00
recovery.go move log package to /infra (#17023) 2019-05-13 08:45:54 +02:00
render_auth.go Backend image rendering as plugin (#11966) 2018-05-24 15:26:27 +02:00
request_metrics.go Metrics: use consistent naming for exported variables (#18134) 2019-07-16 16:58:46 +02:00
request_tracing.go mark >=400 responses as error 2017-09-18 11:08:58 +02:00
testing.go Auth: Do not search for the user twice (#18366) 2019-08-03 21:50:05 +02:00
util.go prometheus: enable gzip for /metrics endpoint 2017-10-23 09:35:46 +02:00
validate_host.go rename Context to ReqContext 2018-03-07 11:54:50 -05:00