feat: migrate action secrets to keying to store them more securely (#8692)
- Use the keying module, that was introduced in forgejo/forgejo#5041, to store action secrets safely and securely in the database. - Introduce a central function that sets the secret, `SetSecret` and let the caller do the update call. This is similar to how the twofactor (TOTP) models does it. Ref. https://codeberg.org/forgejo/forgejo/pulls/6074 - Add a relaxed migration, that is run inside a transaction. If it cannot decrypt a action secret, then it's deleted. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8692 Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org> Co-authored-by: Gusted <postmaster@gusted.xyz> Co-committed-by: Gusted <postmaster@gusted.xyz>
This commit is contained in:
parent
bc0d14119c
commit
13e48ead92
9 changed files with 293 additions and 33 deletions
|
|
@ -58,6 +58,8 @@ var (
|
|||
ContextPushMirror Context = "pushmirror"
|
||||
// Used for the `two_factor` table.
|
||||
ContextTOTP Context = "totp"
|
||||
// Used for the `secret` table.
|
||||
ContextActionSecret Context = "action_secret"
|
||||
)
|
||||
|
||||
// Derive *the* key for a given context, this is a deterministic function.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue