mirror of
https://github.com/project-zot/zot.git
synced 2025-01-06 22:40:28 -05:00
67 lines
1.5 KiB
Markdown
67 lines
1.5 KiB
Markdown
|
# `API keys`
|
||
|
|
||
|
zot allows authentication for REST API calls using your API key as an alternative to your password.
|
||
|
|
||
|
* User can create/revoke his API key.
|
||
|
|
||
|
* Can not be retrieved, it is shown to the user only the first time is created.
|
||
|
|
||
|
* An API key has the same rights as the user who generated it.
|
||
|
|
||
|
## API keys REST API
|
||
|
|
||
|
|
||
|
### Create API Key
|
||
|
**Description**: Create an API key for the current user.
|
||
|
|
||
|
**Usage**: POST /v2/_zot/ext/apikey
|
||
|
|
||
|
**Produces**: application/json
|
||
|
|
||
|
**Sample input**:
|
||
|
```
|
||
|
POST /api/security/apiKey
|
||
|
Body: {"label": "git", "scopes": ["repo1", "repo2"]}'
|
||
|
```
|
||
|
|
||
|
**Example cURL**
|
||
|
```
|
||
|
curl -u user:password -X POST http://localhost:8080/v2/_zot/ext/apikey -d '{"label": "myLabel", "scopes": ["repo1", "repo2"]}'
|
||
|
```
|
||
|
|
||
|
**Sample output**:
|
||
|
```json
|
||
|
{
|
||
|
"createdAt": "2023-05-05T15:39:28.420926+03:00",
|
||
|
"creatorUa": "curl/7.68.0",
|
||
|
"generatedBy": "manual",
|
||
|
"lastUsed": "2023-05-05T15:39:28.4209282+03:00",
|
||
|
"label": "git",
|
||
|
"scopes": [
|
||
|
"repo1",
|
||
|
"repo2"
|
||
|
],
|
||
|
"uuid": "46a45ce7-5d92-498a-a9cb-9654b1da3da1",
|
||
|
"apiKey": "zak_e77bcb9e9f634f1581756abbf9ecd269"
|
||
|
}
|
||
|
```
|
||
|
|
||
|
**Using API keys cURL**
|
||
|
```
|
||
|
curl -u user:zak_e77bcb9e9f634f1581756abbf9ecd269 http://localhost:8080/v2/_catalog
|
||
|
```
|
||
|
|
||
|
|
||
|
### Revoke API Key
|
||
|
**Description**: Revokes one current user API key by api key UUID
|
||
|
|
||
|
**Usage**: DELETE /api/security/apiKey?id=$uuid
|
||
|
|
||
|
**Produces**: application/json
|
||
|
|
||
|
|
||
|
**Example cURL**
|
||
|
```
|
||
|
curl -u user:password -X DELETE http://localhost:8080/v2/_zot/ext/apikey?id=46a45ce7-5d92-498a-a9cb-9654b1da3da1
|
||
|
```
|