Skip to content

Commit

Permalink
Remove Duration
Browse files Browse the repository at this point in the history
Duration is unnecessary.
  • Loading branch information
dev-bio committed Jan 25, 2024
1 parent 34921fa commit 4363b37
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 30 deletions.
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ Action to generate and optionally scope down application tokens for use in workf
with:
app-id: ${{ secrets.APP_ID }}
app-pk: ${{ secrets.APP_PK }}
duration: 5 # optional duration in minutes, this is the default
permissions: | # optional settings for scoping down the token
repositories: [ 'dev-bio/actions-token' ]
scopes:
Expand Down
4 changes: 0 additions & 4 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@ inputs:
description: 'Application identifier.'
required: true

duration:
description: 'Tokens duration, defaults to 5 minutes.'
required: false

permissions:
description: 'Permissions if you would like to scope them down.'
required: false
Expand Down
14 changes: 2 additions & 12 deletions src/bin.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
use anyhow::{Result};

use jwt_simple::prelude::{Duration};

use secrecy::{

ExposeSecret,
Expand Down Expand Up @@ -36,18 +34,10 @@ fn main() -> Result<()> {
.transpose()?
};

let duration = {

atc::get_input("duration").map(|string| {
u64::from_str_radix(string.as_str(), 10)
}).transpose()?
};

let result = match permissions {
Some(permissions) => actions_token::fetch_token(app_id, app_pk, TokenOptions::repository(repository)
.with_duration(Duration::from_mins(duration.unwrap_or(5))).with_permissions(permissions)),
None => actions_token::fetch_token(app_id, app_pk, TokenOptions::repository(repository)
.with_duration(Duration::from_mins(duration.unwrap_or(5)))),
.with_permissions(permissions)),
None => actions_token::fetch_token(app_id, app_pk, TokenOptions::repository(repository)),
};

let Ok(token) = result else {
Expand Down
16 changes: 3 additions & 13 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use jwt_simple::prelude::{
Claims,
};

pub use jwt_simple::prelude::{Duration as TokenDuration};
use jwt_simple::prelude::{Duration};

use actions_toolkit::client::{Client};

Expand Down Expand Up @@ -118,7 +118,6 @@ enum TokenKind {
#[derive(Clone, Debug)]
pub struct TokenOptions {
pub(crate) kind: TokenKind,
pub(crate) duration: TokenDuration,
pub(crate) permissions: Option<Permissions>,
}

Expand All @@ -131,7 +130,6 @@ impl TokenOptions {
organization.to_owned()
}),
permissions: None,
duration: TokenDuration::from_mins(10),
}
}

Expand All @@ -143,7 +141,6 @@ impl TokenOptions {
repository.to_owned()
}),
permissions: None,
duration: TokenDuration::from_mins(10),
}
}

Expand All @@ -155,16 +152,9 @@ impl TokenOptions {
user.to_owned()
}),
permissions: None,
duration: TokenDuration::from_mins(10),
}
}

pub fn with_duration(mut self, duration: TokenDuration) -> TokenOptions {
self.duration = duration;

self
}

pub fn with_permissions(mut self, permissions: Permissions) -> TokenOptions {
self.permissions = Some(permissions);
self
Expand Down Expand Up @@ -265,10 +255,10 @@ impl Permissions {
}

pub fn fetch_token(app_id: Secret<String>, app_pk: Secret<String>, options: TokenOptions) -> Result<Secret<String>> {
let TokenOptions { kind, duration, permissions } = options;
let TokenOptions { kind, permissions } = options;

let token = Some(RS256KeyPair::from_pem(app_pk.expose_secret())?
.sign(Claims::create(duration).with_issuer({
.sign(Claims::create(Duration::from_secs(60)).with_issuer({
app_id.expose_secret()
}))?);

Expand Down

0 comments on commit 4363b37

Please sign in to comment.