AceProfile

Enum AceProfile 

Source
#[non_exhaustive]
pub enum AceProfile { CoapDtls, CoapOscore, Other(i32), }
Expand description

Profiles for ACE-OAuth as specified in section 5.8.4.3 of RFC 9200.

ACE-OAuth profiles are used in the AccessTokenResponse if the client previously sent an AccessTokenRequest with the ace_profile field set.

There are at the moment two profiles for ACE-OAuth which are not drafts:

  • The DTLS profile, specified in RFC 9202.
  • The OSCORE profile, defined in RFC 9203.

If you wish to use a different profile, you need to specify a user-defined CBOR integer for it using the Other variant.

§Example

For example, if you wish to indicate in your response that the DTLS profile is used:

let request = AccessTokenResponse::builder()
    .access_token(vec![1,2,3,4])
    .ace_profile(AceProfile::CoapDtls)
    .build()?;

It’s also possible to use your own value for a custom profile, as defined in section 8.8 of RFC 9200:

let request = AccessTokenResponse::builder()
    .access_token(vec![1,2,3,4])
    // values below -65536 marked for private use.
    .ace_profile(AceProfile::Other(-99999))
    .build()?;

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

CoapDtls

Profile for ACE-OAuth using Datagram Transport Layer Security, specified in RFC 9202.

§

CoapOscore

Profile for ACE-OAuth using OSCORE, specified in RFC 9203.

§

Other(i32)

An unspecified ACE-OAuth profile along with its representation in CBOR.

See section 8.8 of RFC 9200 for details.

Trait Implementations§

Source§

impl Clone for AceProfile

Source§

fn clone(&self) -> AceProfile

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AceProfile

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<AceProfile> for i32

Source§

fn from(profile: AceProfile) -> Self

Converts to this type from the input type.
Source§

impl From<i32> for AceProfile

Source§

fn from(value: i32) -> Self

Converts to this type from the input type.
Source§

impl Hash for AceProfile

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for AceProfile

Source§

fn eq(&self, other: &AceProfile) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for AceProfile

Source§

impl Eq for AceProfile

Source§

impl StructuralPartialEq for AceProfile

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.