forgejo/templates/repo
oliverpool b6e81357bd
Add Webhook authorization header ()
_This is a different approach to , I took the liberty of adapting
some parts, see below_

## Context

In some cases, a weebhook endpoint requires some kind of authentication.
The usual way is by sending a static `Authorization` header, with a
given token. For instance:

- Matrix expects a `Bearer <token>` (already implemented, by storing the
header cleartext in the metadata - which is buggy on retry )
- TeamCity 
- Gitea instances 
- SourceHut https://man.sr.ht/graphql.md#authentication-strategies (this
is my actual personal need :)

## Proposed solution

Add a dedicated encrypt column to the webhook table (instead of storing
it as meta as proposed in ), so that it gets available for all
present and future hook types (especially the custom ones ).

This would also solve the buggy matrix retry .

As a first step, I would recommend focusing on the backend logic and
improve the frontend at a later stage. For now the UI is a simple
`Authorization` field (which could be later customized with `Bearer` and
`Basic` switches):


![2022-08-23-142911](https://user-images.githubusercontent.com/3864879/186162483-5b721504-eef5-4932-812e-eb96a68494cc.png)

The header name is hard-coded, since I couldn't fine any usecase
justifying otherwise.

## Questions

- What do you think of this approach? @justusbunsi @Gusted @silverwind 
- ~~How are the migrations generated? Do I have to manually create a new
file, or is there a command for that?~~
- ~~I started adding it to the API: should I complete it or should I
drop it? (I don't know how much the API is actually used)~~

## Done as well:

- add a migration for the existing matrix webhooks and remove the
`Authorization` logic there


_Closes #19872_

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Gusted <williamzijl7@hotmail.com>
Co-authored-by: delvh <dev.lh@web.de>
2022-11-03 20:23:20 +02:00
..
branch Fix UI column width, button overflow Fomantic's grid () 2022-10-28 09:48:48 -04:00
diff Improve code comment review on mobile () 2022-10-25 19:11:49 +08:00
editor Make sure fmt catches all templates () 2022-08-31 23:58:54 +08:00
find Refactor i18n to locale () 2022-06-27 15:58:46 -05:00
graph Make sure fmt catches all templates () 2022-08-31 23:58:54 +08:00
issue Localize all timestamps () 2022-10-17 12:08:21 +08:00
migrate Make sure fmt catches all templates () 2022-08-31 23:58:54 +08:00
projects Make sure fmt catches all templates () 2022-08-31 23:58:54 +08:00
pulls fix: PR status layout on mobile () 2022-10-28 09:49:42 -04:00
release Tag list should include draft releases with existing tags () 2022-10-03 20:05:53 +08:00
settings Add Webhook authorization header () 2022-11-03 20:23:20 +02:00
wiki Webhook for Wiki changes () 2022-09-04 20:54:23 +01:00
activity.tmpl Respect user's locale when rendering the date range in the repo activity page () 2022-10-13 00:14:14 +03:00
blame.tmpl Switch Unicode Escaping to a VSCode-like system () 2022-08-13 19:32:34 +01:00
branch_dropdown.tmpl Fix branch dropdown shifting on page load () 2022-10-19 13:39:55 +08:00
clone_buttons.tmpl Rework repo buttons () 2022-08-08 02:15:11 +03:00
clone_script.tmpl Make the vscode clone link respect transport protocol () 2022-09-09 02:38:51 -04:00
commit_page.tmpl Revert increased width on pull pages () 2022-10-19 15:48:29 +01:00
commit_status.tmpl Change commit status icons to SVG () 2022-08-09 23:55:29 +02:00
commit_statuses.tmpl Improve commit status icons () 2022-09-09 17:03:18 -04:00
commits.tmpl Rework repo buttons () 2022-08-08 02:15:11 +03:00
commits_list.tmpl Change commits-table column width () 2022-10-25 18:00:37 +01:00
commits_list_small.tmpl Add whitespace removal inside template curly brackes () 2022-08-25 17:55:52 -04:00
commits_table.tmpl Add whitespace removal inside template curly brackes () 2022-08-25 17:55:52 -04:00
create.tmpl Remove cancel button in repo creation page () 2022-10-11 22:47:35 +08:00
empty.tmpl Add default value for clone URLs () 2022-08-02 10:52:05 +08:00
forks.tmpl Add whitespace removal inside template curly brackes () 2022-08-25 17:55:52 -04:00
graph.tmpl Add whitespace removal inside template curly brackes () 2022-08-25 17:55:52 -04:00
header.tmpl Add whitespace removal inside template curly brackes () 2022-08-25 17:55:52 -04:00
home.tmpl Expand "Go to File" button again, fix 'Add File' margin () 2022-10-24 02:23:04 +01:00
icon.tmpl Do not display org avatar near icon for internal repos () 2020-12-13 16:51:15 -05:00
packages.tmpl Add Package Registry () 2022-03-30 16:42:47 +08:00
search.tmpl Add user/organization code search () 2022-10-11 00:12:03 +01:00
shabox_badge.tmpl Refactor i18n to locale () 2022-06-27 15:58:46 -05:00
sub_menu.tmpl Fix : Hide repo information from file view/blame mode () 2022-10-13 11:31:10 +03:00
unicode_escape_prompt.tmpl Switch Unicode Escaping to a VSCode-like system () 2022-08-13 19:32:34 +01:00
upload.tmpl Refactor i18n to locale () 2022-06-27 15:58:46 -05:00
user_cards.tmpl Localize all timestamps () 2022-10-17 12:08:21 +08:00
view_file.tmpl Show .editorconfig errors in frontend () 2022-09-12 00:16:56 +02:00
view_list.tmpl Add whitespace removal inside template curly brackes () 2022-08-25 17:55:52 -04:00
watchers.tmpl Add class to page content to unify top margin () 2020-11-30 23:00:14 -05:00