Struct taskcluster::Credentials
source · pub struct Credentials {
pub client_id: String,
pub access_token: String,
pub certificate: Option<String>,
}
Expand description
Credentials represents the set of credentials required to access protected Taskcluster HTTP APIs.
Fields§
§client_id: String
Client ID
access_token: String
Access token
certificate: Option<String>
Certificate for temporary credentials
Implementations§
source§impl Credentials
impl Credentials
sourcepub fn from_env() -> Result<Credentials, Error>
pub fn from_env() -> Result<Credentials, Error>
Create a new Credentials object from environment variables:
TASKCLUSTER_CLIENT_ID
TASKCLUSTER_ACCESS_TOKEN
TASKCLUSTER_CERTIFICATE
(optional)
sourcepub fn new<S1: Into<String>, S2: Into<String>>(
client_id: S1,
access_token: S2
) -> Credentials
pub fn new<S1: Into<String>, S2: Into<String>>( client_id: S1, access_token: S2 ) -> Credentials
Create a new Credentials object with clientId and accessToken
Examples:
let _ = Credentials::new("my_client_id", "my_access_token");
sourcepub fn new_with_certificate<S1, S2, S3>(
client_id: S1,
access_token: S2,
certificate: S3
) -> Credentials
pub fn new_with_certificate<S1, S2, S3>( client_id: S1, access_token: S2, certificate: S3 ) -> Credentials
Create a new Credentials object with clientId, accessToken, and certificate
Examples:
let _ = Credentials::new_with_certificate("my_client_id", "my_access_token", "{}");
sourcepub fn create_named_temp_creds(
&self,
temp_client_id: &str,
duration: Duration,
scopes: impl IntoIterator<Item = impl AsRef<str>>
) -> Result<Credentials, Error>
pub fn create_named_temp_creds( &self, temp_client_id: &str, duration: Duration, scopes: impl IntoIterator<Item = impl AsRef<str>> ) -> Result<Credentials, Error>
Generate temporary credentials from permanent credentials, valid for the given duration, starting immediately. The temporary credentials’ scopes must be a subset of the permanent credentials’ scopes. The duration may not be more than 31 days. Any authorized scopes of the permanent credentials will be passed through as authorized scopes to the temporary credentials, but will not be restricted via the certificate.
Note that the auth service already applies a 5 minute clock skew to the start and expiry times in https://github.com/taskcluster/taskcluster-auth/pull/117 so no clock skew is applied in this method, nor should be applied by the caller.
See https://docs.taskcluster.net/docs/manual/design/apis/hawk/temporary-credentials
sourcepub fn create_temp_creds(
&self,
duration: Duration,
scopes: impl IntoIterator<Item = impl AsRef<str>>
) -> Result<Credentials, Error>
pub fn create_temp_creds( &self, duration: Duration, scopes: impl IntoIterator<Item = impl AsRef<str>> ) -> Result<Credentials, Error>
Similar to create_named_temp_creds
, but creating unnamed credentials. This approach is
still supported but users are encouraged to create named credentials when possible to
support auditability.
Trait Implementations§
source§impl Clone for Credentials
impl Clone for Credentials
source§fn clone(&self) -> Credentials
fn clone(&self) -> Credentials
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for Credentials
impl Debug for Credentials
source§impl<'de> Deserialize<'de> for Credentials
impl<'de> Deserialize<'de> for Credentials
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl PartialEq for Credentials
impl PartialEq for Credentials
source§fn eq(&self, other: &Credentials) -> bool
fn eq(&self, other: &Credentials) -> bool
self
and other
values to be equal, and is used
by ==
.