Struct taskcluster::Credentials[][src]

pub struct Credentials {
    pub client_id: String,
    pub access_token: String,
    pub certificate: Option<String>,
}

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

impl Credentials[src]

pub fn from_env() -> Result<Credentials, Error>[src]

Create a new Credentials object from environment variables:

  • TASKCLUSTER_CLIENT_ID
  • TASKCLUSTER_ACCESS_TOKEN
  • TASKCLUSTER_CERTIFICATE (optional)

pub fn new<S1: Into<String>, S2: Into<String>>(
    client_id: S1,
    access_token: S2
) -> Credentials
[src]

Create a new Credentials object with clientId and accessToken

Examples:

let _ = Credentials::new("my_client_id", "my_access_token");

pub fn new_with_certificate<S1, S2, S3>(
    client_id: S1,
    access_token: S2,
    certificate: S3
) -> Credentials where
    S1: Into<String>,
    S2: Into<String>,
    S3: Into<String>, 
[src]

Create a new Credentials object with clientId, accessToken, and certificate

Examples:

let _ = Credentials::new_with_certificate("my_client_id", "my_access_token", "{}");

pub fn create_named_temp_creds(
    &self,
    temp_client_id: &str,
    duration: Duration,
    scopes: impl IntoIterator<Item = impl AsRef<str>>
) -> Result<Credentials, Error>
[src]

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

pub fn create_temp_creds(
    &self,
    duration: Duration,
    scopes: impl IntoIterator<Item = impl AsRef<str>>
) -> Result<Credentials, Error>
[src]

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

impl Clone for Credentials[src]

impl Debug for Credentials[src]

impl PartialEq<Credentials> for Credentials[src]

impl StructuralPartialEq for Credentials[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.