Skip to content

Commit 37834e4

Browse files
authored
Merge pull request #11293 from Turbo87/openapi-trustpub-token
OpenAPI: Add `trustpub_token` security scheme
2 parents 8465b56 + fb674e4 commit 37834e4

File tree

3 files changed

+20
-1
lines changed

3 files changed

+20
-1
lines changed

src/controllers/trustpub/tokens/revoke/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ mod tests;
1616
#[utoipa::path(
1717
delete,
1818
path = "/api/v1/trusted_publishing/tokens",
19+
security(("trustpub_token" = [])),
1920
tag = "trusted_publishing",
2021
responses((status = 204, description = "Successful Response")),
2122
)]

src/openapi.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crates_io_session::COOKIE_NAME;
22
use http::header;
3-
use utoipa::openapi::security::{ApiKey, ApiKeyValue, SecurityScheme};
3+
use utoipa::openapi::security::{ApiKey, ApiKeyValue, Http, HttpAuthScheme, SecurityScheme};
44
use utoipa::{Modify, OpenApi};
55
use utoipa_axum::router::OpenApiRouter;
66

@@ -72,6 +72,14 @@ impl Modify for SecurityAddon {
7272
"The API token is used to authenticate requests from cargo and other clients.";
7373
let api_token = ApiKey::Header(ApiKeyValue::with_description(name, description));
7474
components.add_security_scheme("api_token", SecurityScheme::ApiKey(api_token));
75+
76+
let description = "Temporary access tokens are used by the \"Trusted Publishing\" flow.";
77+
let trustpub_token = Http::builder()
78+
.scheme(HttpAuthScheme::Bearer)
79+
.description(Some(description))
80+
.build();
81+
82+
components.add_security_scheme("trustpub_token", SecurityScheme::Http(trustpub_token));
7583
}
7684
}
7785

src/snapshots/crates_io__openapi__tests__openapi_snapshot.snap

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1252,6 +1252,11 @@ expression: response.json()
12521252
"in": "cookie",
12531253
"name": "cargo_session",
12541254
"type": "apiKey"
1255+
},
1256+
"trustpub_token": {
1257+
"description": "Temporary access tokens are used by the \"Trusted Publishing\" flow.",
1258+
"scheme": "bearer",
1259+
"type": "http"
12551260
}
12561261
}
12571262
},
@@ -4310,6 +4315,11 @@ expression: response.json()
43104315
"description": "Successful Response"
43114316
}
43124317
},
4318+
"security": [
4319+
{
4320+
"trustpub_token": []
4321+
}
4322+
],
43134323
"summary": "Revoke a temporary access token.",
43144324
"tags": [
43154325
"trusted_publishing"

0 commit comments

Comments
 (0)