#[non_exhaustive]pub struct CreateTokenWithIamInput {
pub client_id: Option<String>,
pub grant_type: Option<String>,
pub code: Option<String>,
pub refresh_token: Option<String>,
pub assertion: Option<String>,
pub scope: Option<Vec<String>>,
pub redirect_uri: Option<String>,
pub subject_token: Option<String>,
pub subject_token_type: Option<String>,
pub requested_token_type: Option<String>,
}
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.client_id: Option<String>
The unique identifier string for the client or application. This value is an application ARN that has OAuth grants configured.
grant_type: Option<String>
Supports the following OAuth grant types: Authorization Code, Refresh Token, JWT Bearer, and Token Exchange. Specify one of the following values, depending on the grant type that you want:
* Authorization Code - authorization_code
* Refresh Token - refresh_token
* JWT Bearer - urn:ietf:params:oauth:grant-type:jwt-bearer
* Token Exchange - urn:ietf:params:oauth:grant-type:token-exchange
code: Option<String>
Used only when calling this API for the Authorization Code grant type. This short-term code is used to identify this authorization request. The code is obtained through a redirect from IAM Identity Center to a redirect URI persisted in the Authorization Code GrantOptions for the application.
refresh_token: Option<String>
Used only when calling this API for the Refresh Token grant type. This token is used to refresh short-term tokens, such as the access token, that might expire.
For more information about the features and limitations of the current IAM Identity Center OIDC implementation, see Considerations for Using this Guide in the IAM Identity Center OIDC API Reference.
assertion: Option<String>
Used only when calling this API for the JWT Bearer grant type. This value specifies the JSON Web Token (JWT) issued by a trusted token issuer. To authorize a trusted token issuer, configure the JWT Bearer GrantOptions for the application.
scope: Option<Vec<String>>
The list of scopes for which authorization is requested. The access token that is issued is limited to the scopes that are granted. If the value is not specified, IAM Identity Center authorizes all scopes configured for the application, including the following default scopes: openid
, aws
, sts:identity_context
.
redirect_uri: Option<String>
Used only when calling this API for the Authorization Code grant type. This value specifies the location of the client or application that has registered to receive the authorization code.
subject_token: Option<String>
Used only when calling this API for the Token Exchange grant type. This value specifies the subject of the exchange. The value of the subject token must be an access token issued by IAM Identity Center to a different client or application. The access token must have authorized scopes that indicate the requested application as a target audience.
subject_token_type: Option<String>
Used only when calling this API for the Token Exchange grant type. This value specifies the type of token that is passed as the subject of the exchange. The following value is supported:
* Access Token - urn:ietf:params:oauth:token-type:access_token
requested_token_type: Option<String>
Used only when calling this API for the Token Exchange grant type. This value specifies the type of token that the requester can receive. The following values are supported:
* Access Token - urn:ietf:params:oauth:token-type:access_token
* Refresh Token - urn:ietf:params:oauth:token-type:refresh_token
Implementations§
source§impl CreateTokenWithIamInput
impl CreateTokenWithIamInput
sourcepub fn client_id(&self) -> Option<&str>
pub fn client_id(&self) -> Option<&str>
The unique identifier string for the client or application. This value is an application ARN that has OAuth grants configured.
sourcepub fn grant_type(&self) -> Option<&str>
pub fn grant_type(&self) -> Option<&str>
Supports the following OAuth grant types: Authorization Code, Refresh Token, JWT Bearer, and Token Exchange. Specify one of the following values, depending on the grant type that you want:
* Authorization Code - authorization_code
* Refresh Token - refresh_token
* JWT Bearer - urn:ietf:params:oauth:grant-type:jwt-bearer
* Token Exchange - urn:ietf:params:oauth:grant-type:token-exchange
sourcepub fn code(&self) -> Option<&str>
pub fn code(&self) -> Option<&str>
Used only when calling this API for the Authorization Code grant type. This short-term code is used to identify this authorization request. The code is obtained through a redirect from IAM Identity Center to a redirect URI persisted in the Authorization Code GrantOptions for the application.
sourcepub fn refresh_token(&self) -> Option<&str>
pub fn refresh_token(&self) -> Option<&str>
Used only when calling this API for the Refresh Token grant type. This token is used to refresh short-term tokens, such as the access token, that might expire.
For more information about the features and limitations of the current IAM Identity Center OIDC implementation, see Considerations for Using this Guide in the IAM Identity Center OIDC API Reference.
sourcepub fn assertion(&self) -> Option<&str>
pub fn assertion(&self) -> Option<&str>
Used only when calling this API for the JWT Bearer grant type. This value specifies the JSON Web Token (JWT) issued by a trusted token issuer. To authorize a trusted token issuer, configure the JWT Bearer GrantOptions for the application.
sourcepub fn scope(&self) -> &[String]
pub fn scope(&self) -> &[String]
The list of scopes for which authorization is requested. The access token that is issued is limited to the scopes that are granted. If the value is not specified, IAM Identity Center authorizes all scopes configured for the application, including the following default scopes: openid
, aws
, sts:identity_context
.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .scope.is_none()
.
sourcepub fn redirect_uri(&self) -> Option<&str>
pub fn redirect_uri(&self) -> Option<&str>
Used only when calling this API for the Authorization Code grant type. This value specifies the location of the client or application that has registered to receive the authorization code.
sourcepub fn subject_token(&self) -> Option<&str>
pub fn subject_token(&self) -> Option<&str>
Used only when calling this API for the Token Exchange grant type. This value specifies the subject of the exchange. The value of the subject token must be an access token issued by IAM Identity Center to a different client or application. The access token must have authorized scopes that indicate the requested application as a target audience.
sourcepub fn subject_token_type(&self) -> Option<&str>
pub fn subject_token_type(&self) -> Option<&str>
Used only when calling this API for the Token Exchange grant type. This value specifies the type of token that is passed as the subject of the exchange. The following value is supported:
* Access Token - urn:ietf:params:oauth:token-type:access_token
sourcepub fn requested_token_type(&self) -> Option<&str>
pub fn requested_token_type(&self) -> Option<&str>
Used only when calling this API for the Token Exchange grant type. This value specifies the type of token that the requester can receive. The following values are supported:
* Access Token - urn:ietf:params:oauth:token-type:access_token
* Refresh Token - urn:ietf:params:oauth:token-type:refresh_token
source§impl CreateTokenWithIamInput
impl CreateTokenWithIamInput
sourcepub fn builder() -> CreateTokenWithIamInputBuilder
pub fn builder() -> CreateTokenWithIamInputBuilder
Creates a new builder-style object to manufacture CreateTokenWithIamInput
.
Trait Implementations§
source§impl Clone for CreateTokenWithIamInput
impl Clone for CreateTokenWithIamInput
source§fn clone(&self) -> CreateTokenWithIamInput
fn clone(&self) -> CreateTokenWithIamInput
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for CreateTokenWithIamInput
impl Debug for CreateTokenWithIamInput
source§impl PartialEq for CreateTokenWithIamInput
impl PartialEq for CreateTokenWithIamInput
impl StructuralPartialEq for CreateTokenWithIamInput
Auto Trait Implementations§
impl Freeze for CreateTokenWithIamInput
impl RefUnwindSafe for CreateTokenWithIamInput
impl Send for CreateTokenWithIamInput
impl Sync for CreateTokenWithIamInput
impl Unpin for CreateTokenWithIamInput
impl UnwindSafe for CreateTokenWithIamInput
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)