grafana/pkg/api
Marcus Efraimsson 6dbe3b555f
Plugins: Refactor forward of cookies, OAuth token and header modifications by introducing client middlewares (#58132)
Adding support for backend plugin client middlewares. This allows headers in outgoing 
backend plugin and HTTP requests to be modified using client middlewares.

The following client middlewares added:
Forward cookies: Will forward incoming HTTP request Cookies to outgoing plugins.Client 
and HTTP requests if the datasource has enabled forwarding of cookies (keepCookies).
Forward OAuth token: Will set OAuth token headers on outgoing plugins.Client and HTTP 
requests if the datasource has enabled Forward OAuth Identity (oauthPassThru).
Clear auth headers: Will clear any outgoing HTTP headers that was part of the incoming 
HTTP request and used when authenticating to Grafana.
The current suggested way to register client middlewares is to have a separate package, 
pluginsintegration, responsible for bootstrap/instantiate the backend plugin client with 
middlewares and/or longer term bootstrap/instantiate plugin management. 

Fixes #54135
Related to #47734
Related to #57870
Related to #41623
Related to #57065
2022-12-01 19:08:36 +01:00
..
apierrors Chore: Fix status codes for nested folders (#59087) 2022-11-22 16:06:39 +02:00
avatar Handle ioutil deprecations (#53526) 2022-08-10 15:37:51 +02:00
datasource backend/datasources: move datasources models into the datasources service package (#51267) 2022-06-27 12:23:15 -04:00
dtos Plugins: Refactor forward of cookies, OAuth token and header modifications by introducing client middlewares (#58132) 2022-12-01 19:08:36 +01:00
frontendlogging Performance: add preallocation for some slice/map (#57860) 2022-11-22 20:24:36 +08:00
pluginproxy Chore: Refactor quota service (#58643) 2022-11-14 21:08:10 +02:00
response pkg/web: closure-style middlewares (#51238) 2022-08-09 14:58:50 +02:00
routing Instrumentation: Fix HTTP request instrumentation of authentication failures (#44234) 2022-02-02 18:48:46 +01:00
static API: Extract OpenAPI specification from source code using go-swagger (#40528) 2022-02-08 13:38:43 +01:00
accesscontrol.go NavTree: Refactor out the navtree building from api/index.go and into it's own service (#55552) 2022-09-22 22:04:48 +02:00
admin_encryption.go manager exposes renderer + secrets manager (#54629) 2022-09-02 14:20:10 +02:00
admin_provisioning_test.go Alerting: Add file provisioning for contact points (#51924) 2022-08-01 18:17:42 +02:00
admin_provisioning.go Alerting: Add file provisioning for contact points (#51924) 2022-08-01 18:17:42 +02:00
admin_test.go RBAC: Refactor GetUserPermissions to use []accesscontrol.Permission (#50683) 2022-06-14 10:17:48 +02:00
admin_users_test.go Login: Remove CreateUser from LoginService (#59464) 2022-11-29 10:20:44 +01:00
admin_users.go Login: Remove CreateUser from LoginService (#59464) 2022-11-29 10:20:44 +01:00
admin.go Chore: Move stats service into a standalone packge from sqlstore (#59574) 2022-11-30 18:11:07 +01:00
alerting.go Chore: fix formating for swagger definitions (#54993) 2022-09-12 10:40:35 +03:00
annotations_test.go Chore: Reduce the usage of sqlstore.createorg and use orgservice instead (#59356) 2022-11-28 12:05:46 +01:00
annotations.go Annotation: Optionally allow storing longer annotation tags (#54754) 2022-09-23 06:04:41 -04:00
api.go EntityStore: Rename ObjectStore to EntityStore (part 2) (#59616) 2022-11-30 17:52:15 -05:00
apikey.go Chore: fix formating for swagger definitions (#54993) 2022-09-12 10:40:35 +03:00
basic_auth_test.go Macaron: remove custom Request type (#37874) 2021-09-01 11:18:30 +02:00
basic_auth.go Macaron: remove custom Request type (#37874) 2021-09-01 11:18:30 +02:00
comments.go Chore: Add user service method SetUsingOrg and GetSignedInUserWithCacheCtx (#53343) 2022-08-11 13:28:55 +02:00
common_test.go Chore: Move stats service into a standalone packge from sqlstore (#59574) 2022-11-30 18:11:07 +01:00
dashboard_permission_test.go Chore: Add user service method SetUsingOrg and GetSignedInUserWithCacheCtx (#53343) 2022-08-11 13:28:55 +02:00
dashboard_permission.go Perfomance: add preallocation for some slices (#59263) 2022-11-28 13:10:24 +01:00
dashboard_snapshot_test.go Chore: Switch over to team.Service instead of sqlstore (#55497) 2022-09-20 18:58:04 +02:00
dashboard_snapshot.go Fix: Allow creating snapshot with no dashboard id (#58669) 2022-11-29 09:29:27 +01:00
dashboard_test.go Access Control: Clear user's permission cache after resource creation (#59101) 2022-11-24 14:38:55 +00:00
dashboard.go Access Control: Clear user's permission cache after resource creation (#59101) 2022-11-24 14:38:55 +00:00
dataproxy.go Chore: Move swagger definitions to the handlers (#52643) 2022-07-27 09:54:37 -04:00
datasources_test.go Access Control: Clear user's permission cache after resource creation (#59101) 2022-11-24 14:38:55 +00:00
datasources.go Plugins: Refactor forward of cookies, OAuth token and header modifications by introducing client middlewares (#58132) 2022-12-01 19:08:36 +01:00
fakes.go NavTree: Make it possible to configure where in nav tree plugins live (#55484) 2022-09-28 08:29:35 +02:00
folder_permission_test.go API: Support creating a nested folder (#58508) 2022-11-10 04:41:03 -05:00
folder_permission.go Perfomance: add preallocation for some slices (#59263) 2022-11-28 13:10:24 +01:00
folder_test.go Access Control: Clear user's permission cache after resource creation (#59101) 2022-11-24 14:38:55 +00:00
folder.go Access Control: Clear user's permission cache after resource creation (#59101) 2022-11-24 14:38:55 +00:00
frontend_logging_test.go Frontend logging: handle logging endpoints without expensive middleware (#54960) 2022-09-12 13:04:43 +03:00
frontend_logging.go Frontend logging: handle logging endpoints without expensive middleware (#54960) 2022-09-12 13:04:43 +03:00
frontend_metrics.go Chore: Report frontend metrics for JS/CSS load time (#42421) 2021-12-02 09:34:39 +01:00
frontendsettings_test.go OAuth: Refactor OAuth parameters handling to support obtaining refresh tokens for Google OAuth (#58782) 2022-11-18 10:12:17 +01:00
frontendsettings.go Auth: Add expiry date for service accounts access tokens (#58885) 2022-11-22 10:08:40 +01:00
grafana_com_proxy.go Instrumentation: Proxy status code correction and various improvements (#47473) 2022-04-11 13:17:08 +02:00
health_test.go Chore: Remove bus from health api (#44897) 2022-02-04 14:33:35 +01:00
health.go Chore: Remove bus from health api (#44897) 2022-02-04 14:33:35 +01:00
http_server_test.go Plugins: Make backend plugin metrics endpoints available with optional authentication (#46467) 2022-03-29 11:18:26 +02:00
http_server.go EntityStore: Rename ObjectStore to EntityStore (part 1) (#59613) 2022-11-30 13:42:42 -08:00
index.go Internationalization: Change locale preference to language (#58359) 2022-11-22 12:18:34 +00:00
ldap_debug_test.go Auth: Refactor auth package (#58920) 2022-11-18 09:56:06 +01:00
ldap_debug.go Chore: Move SearchOrgs to org service (#55416) 2022-09-20 09:55:40 +02:00
login_oauth_test.go OAuth: Refactor OAuth parameters handling to support obtaining refresh tokens for Google OAuth (#58782) 2022-11-18 10:12:17 +01:00
login_oauth.go OAuth: Refactor OAuth parameters handling to support obtaining refresh tokens for Google OAuth (#58782) 2022-11-18 10:12:17 +01:00
login_test.go Auth: Refactor auth package (#58920) 2022-11-18 09:56:06 +01:00
login.go Auth: Refactor auth package (#58920) 2022-11-18 09:56:06 +01:00
metrics_test.go Plugins: Refactor forward of cookies, OAuth token and header modifications by introducing client middlewares (#58132) 2022-12-01 19:08:36 +01:00
metrics.go Plugins: Refactor forward of cookies, OAuth token and header modifications by introducing client middlewares (#58132) 2022-12-01 19:08:36 +01:00
openapi3.go Implementing OpenApi 3 specs (converted from Swagger 2) (#53243) 2022-08-04 13:51:12 -03:00
org_invite_test.go SQLStore: Make addOrgUser private (#59142) 2022-11-22 17:02:39 +00:00
org_invite.go Login: Remove CreateUser from LoginService (#59464) 2022-11-29 10:20:44 +01:00
org_test.go Chore: Reduce the usage of sqlstore.createorg and use orgservice instead (#59356) 2022-11-28 12:05:46 +01:00
org_users_test.go RBAC: Add an endpoint to list all user permissions (#57644) 2022-11-30 15:38:49 +01:00
org_users.go Auth: Display id Provider label in orgs/users view (#58033) 2022-11-29 15:20:28 +01:00
org.go Remove org methods from sqlstore interface (#56358) 2022-10-05 15:47:56 +02:00
password.go LoginAttempts: Reset attempts on successfull password reset (#59215) 2022-11-23 16:57:18 +01:00
playlist_play.go Playlist: update service so it supports both read+write (#55959) 2022-10-04 11:11:18 -04:00
playlist.go Playlist: update service so it supports both read+write (#55959) 2022-10-04 11:11:18 -04:00
plugin_dashboards_test.go Chore: Refactor quota service (#58643) 2022-11-14 21:08:10 +02:00
plugin_dashboards.go Chore: Add user service method SetUsingOrg and GetSignedInUserWithCacheCtx (#53343) 2022-08-11 13:28:55 +02:00
plugin_metrics_test.go Handle ioutil deprecations (#53526) 2022-08-10 15:37:51 +02:00
plugin_metrics.go Plugins: Make backend plugin metrics endpoints available with optional authentication (#46467) 2022-03-29 11:18:26 +02:00
plugin_proxy_test.go Plugins: Handle app plugin proxy routes per request (#51835) 2022-08-23 13:05:31 +02:00
plugin_proxy.go Plugins: Handle app plugin proxy routes per request (#51835) 2022-08-23 13:05:31 +02:00
plugin_resource.go Plugins: Refactor forward of cookies, OAuth token and header modifications by introducing client middlewares (#58132) 2022-12-01 19:08:36 +01:00
plugins_test.go Plugins: Refactor forward of cookies, OAuth token and header modifications by introducing client middlewares (#58132) 2022-12-01 19:08:36 +01:00
plugins.go Plugins: Make "README" the default markdown request param (#58264) 2022-11-07 11:16:17 +01:00
preferences_test.go Chore: Reduce the usage of sqlstore.createorg and use orgservice instead (#59356) 2022-11-28 12:05:46 +01:00
preferences.go Internationalization: Change locale preference to language (#58359) 2022-11-22 12:18:34 +00:00
quota_test.go Chore: Refactor quota service (#58643) 2022-11-14 21:08:10 +02:00
quota.go Chore: Refactor quota service (#58643) 2022-11-14 21:08:10 +02:00
render.go Chore: Add user service method SetUsingOrg and GetSignedInUserWithCacheCtx (#53343) 2022-08-11 13:28:55 +02:00
search_test.go RBAC: Enable rbac when creating new settings (#53531) 2022-08-11 15:37:31 +02:00
search.go Chore: fix formating for swagger definitions (#54993) 2022-09-12 10:40:35 +03:00
short_url_test.go Chore: Add user service method SetUsingOrg and GetSignedInUserWithCacheCtx (#53343) 2022-08-11 13:28:55 +02:00
short_url.go Chore: Add user service method SetUsingOrg and GetSignedInUserWithCacheCtx (#53343) 2022-08-11 13:28:55 +02:00
signup.go Login: Remove CreateUser from LoginService (#59464) 2022-11-29 10:20:44 +01:00
stars.go Star: Add uid in the endpoint (#54340) 2022-10-05 22:32:49 +02:00
swagger_responses.go Chore: Move swagger definitions to the handlers (#52643) 2022-07-27 09:54:37 -04:00
swagger_tags.json Chore: Move swagger definitions to the handlers (#52643) 2022-07-27 09:54:37 -04:00
swagger.go fix status code 200 (#47818) 2022-04-15 08:01:58 -04:00
team_members_test.go Chore: Reduce the usage of sqlstore.createorg and use orgservice instead (#59356) 2022-11-28 12:05:46 +01:00
team_members.go Chore: Switch over to team.Service instead of sqlstore (#55497) 2022-09-20 18:58:04 +02:00
team_test.go Access Control: Clear user's permission cache after resource creation (#59101) 2022-11-24 14:38:55 +00:00
team.go Access Control: Clear user's permission cache after resource creation (#59101) 2022-11-24 14:38:55 +00:00
user_test.go Chore: Refactor quota service (#58643) 2022-11-14 21:08:10 +02:00
user_token_test.go Auth: Refactor auth package (#58920) 2022-11-18 09:56:06 +01:00
user_token.go Auth: Refactor auth package (#58920) 2022-11-18 09:56:06 +01:00
user.go Fix: Email and username trimming and invitation validation (#58442) 2022-11-14 13:11:26 +01:00
utils.go Fix: Email and username trimming and invitation validation (#58442) 2022-11-14 13:11:26 +01:00