pub struct AccessTokenRequest {
pub client_id: Option<String>,
pub grant_type: Option<GrantType>,
pub audience: Option<String>,
pub redirect_uri: Option<String>,
pub client_nonce: Option<ByteString>,
pub scope: Option<Scope>,
pub ace_profile: Option<()>,
pub req_cnf: Option<ProofOfPossessionKey>,
pub issuer: Option<String>,
}Expand description
Request for an access token, sent from the client, as defined in section 5.8.1 of RFC 9200.
Use the AccessTokenRequestBuilder (which you can access using the
AccessTokenRequest::builder() method) to create an instance of this struct.
§Example
Figure 5 of RFC 9200 gives us an example of an access token request, given in CBOR diagnostic notation1:
{
"client_id" : "myclient",
"audience" : "tempSensor4711"
}This could be built and serialized as an AccessTokenRequest like so:
let request: AccessTokenRequest = AccessTokenRequest::builder()
.client_id("myclient")
.audience("tempSensor4711")
.build()?;
let mut serialized = Vec::new();
request.clone().serialize_into(&mut serialized)?;
assert_eq!(AccessTokenRequest::deserialize_from(serialized.as_slice())?, request);Note that abbreviations aren’t used here, so keep in mind that the labels are really integers instead of strings. ↩
Fields§
§client_id: Option<String>The client identifier as described in section 2.2 of RFC 6749.
grant_type: Option<GrantType>Grant type used for this request.
Defaults to GrantType::ClientCredentials.
See also the documentation of GrantType for details.
audience: Option<String>The logical name of the target service where the client intends to use the requested security token.
redirect_uri: Option<String>URI to redirect the client to after authorization is complete.
client_nonce: Option<ByteString>Client nonce to ensure the token is still fresh.
scope: Option<Scope>Scope of the access request as described by section 3.3 of RFC 6749.
See also the documentation of Scope for details.
ace_profile: Option<()>Included in the request if the AS shall include the ace_profile parameter in its
response.
req_cnf: Option<ProofOfPossessionKey>Contains information about the key the client would like to bind to the access token for proof-of-possession.
See also the documentation of ProofOfPossessionKey for details.
issuer: Option<String>Issuer of the token. Note that this is only used by libdcaf and not present in the ACE-OAuth specification for access token requests. Instead, it is usually encoded as a claim in the access token itself.
Defined in section 3.1.1 of RFC 8392 and Table 6 of RFC 9200.
Implementations§
Source§impl AccessTokenRequest
impl AccessTokenRequest
Sourcepub fn builder() -> AccessTokenRequestBuilder
pub fn builder() -> AccessTokenRequestBuilder
Initializes and returns a new AccessTokenRequestBuilder.
Trait Implementations§
Source§impl Clone for AccessTokenRequest
impl Clone for AccessTokenRequest
Source§fn clone(&self) -> AccessTokenRequest
fn clone(&self) -> AccessTokenRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AccessTokenRequest
impl Debug for AccessTokenRequest
Source§impl Default for AccessTokenRequest
impl Default for AccessTokenRequest
Source§fn default() -> AccessTokenRequest
fn default() -> AccessTokenRequest
Source§impl PartialEq for AccessTokenRequest
impl PartialEq for AccessTokenRequest
Source§impl ToCborMap for AccessTokenRequest
impl ToCborMap for AccessTokenRequest
Source§fn serialize_into<W>(self, writer: W) -> Result<(), Error<W::Error>>
fn serialize_into<W>(self, writer: W) -> Result<(), Error<W::Error>>
writer. Read moreSource§fn deserialize_from<R>(reader: R) -> Result<Self, Error<R::Error>>
fn deserialize_from<R>(reader: R) -> Result<Self, Error<R::Error>>
reader — which is expected to be an instance of this type,
represented as a CBOR map bytestring — into an instance of this type. Read more