Skip to content

Create new way of encrypting tokens - phase 2- writer [RUN ALL RSPEC] [RUN AS-IF-FOSS]

What does this MR do?

Creates new way of encrypting tokens.

After problems in https://gitlab.com/gitlab-com/gl-infra/production/-/issues/3443 we reached a decision to change a way to store encrypted tokens and stop using additional table and move to the system where nonce is saved in the same field as token.

This is phase two, we roll out writer methods behind feature flag to avoid the same pitfalls as in first deploy.

This suppose to be merged one milestone after the !58896 (merged).

What is happening here is that we create token and then save to the database encrypted token alongside nonce used to encrypt it, this way we can easily decrypt it.

Screenshots (strongly suggested)

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Related to #322594 (closed) and gitlab-com/www-gitlab-com#10546 (closed)

Edited by Gosia Ksionek

Merge request reports