Draft: Extends self rotate endpoint to all access token (PAT/PrAT/GrAT)
What does this MR do and why?
What does this MR ?
- Adds a
self_rotate
scope fort PAT/GrAT/PrAT which purpose is to allow a nonapi
access token to rotate itself using the Access Token self rotate api - Extends the Access Token self rotate api (see !142664 (merged)) to PrAT and GrAT
Note: With this MR only access tokens with api
or self_rotate
scope will be able to rotate themselves
Why ?
In the current Gitlab version, if you want to programmatically rotate an PrAT or a GrAT you need a second access token (specifically an api
scoped PAT) and the procedure will be neither simple nor secure:
- Rotation the PrAT/GrAT (see #426779 (closed)) requires to
- exec a 1st request to obtain the PrAT/GrAT
- extract the token id
- exec a 2nd request to rotate the PrAT/GrAT
- Rotation of the
api
PAT will also have to done periodically
So currently PrAT/GrAT are kind of useless in automation scenarios...
With the proposed MR, you just have to add a self_rotate
scope to a PAT/GrAT/PrAT in order to enable it to rotate itself.
So automations scenarios will be simpler (just 1 request to self-rotate the token) and more secure (a 2nd api
scoped PAT is not needed anymore).
Require !142664 (merged)
Related issues #426779 (closed) #430748 #434416 (closed)
Closes #426779 (closed) #430748
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
Personnal Access Token
Before | After |
---|---|
Group Access Token
Before | After |
---|---|
Project Access Token
Before | After |
---|---|
How to set up and validate locally
- Create a PAT/GrAT/PrAT token with
api
orself_rotate
scope - Run the following command
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/personal_access_tokens/self/rotate"
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.