Update User Pool Client
cognitoidentityprovider_update_user_pool_client | R Documentation |
Updates the specified user pool app client with the specified attributes¶
Description¶
Updates the specified user pool app client with the specified
attributes. You can get a list of the current user pool app client
settings using describe_user_pool_client
.
If you don't provide a value for an attribute, Amazon Cognito sets it to its default value.
You can also use this operation to enable token revocation for user pool
clients. For more information about revoking tokens, see revoke_token
.
Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.
Learn more
Usage¶
cognitoidentityprovider_update_user_pool_client(UserPoolId, ClientId,
ClientName, RefreshTokenValidity, AccessTokenValidity, IdTokenValidity,
TokenValidityUnits, ReadAttributes, WriteAttributes, ExplicitAuthFlows,
SupportedIdentityProviders, CallbackURLs, LogoutURLs,
DefaultRedirectURI, AllowedOAuthFlows, AllowedOAuthScopes,
AllowedOAuthFlowsUserPoolClient, AnalyticsConfiguration,
PreventUserExistenceErrors, EnableTokenRevocation,
EnablePropagateAdditionalUserContextData, AuthSessionValidity)
Arguments¶
UserPoolId |
[required] The ID of the user pool where you want to update the user pool client. |
ClientId |
[required] The ID of the client associated with the user pool. |
ClientName |
The client name from the update user pool client request. |
RefreshTokenValidity |
The refresh token time limit. After this limit expires, your user
can't use their refresh token. To specify the time unit for
For example, when you set The default time unit for If you don't specify otherwise in the configuration of your app client, your refresh tokens are valid for 30 days. |
AccessTokenValidity |
The access token time limit. After this limit expires, your user
can't use their access token. To specify the time unit for
For example, when you set The default time unit for If you don't specify otherwise in the configuration of your app client, your access tokens are valid for one hour. |
IdTokenValidity |
The ID token time limit. After this limit expires, your user
can't use their ID token. To specify the time unit for
For example, when you set The default time unit for If you don't specify otherwise in the configuration of your app client, your ID tokens are valid for one hour. |
TokenValidityUnits |
The time units you use when you set the duration of ID, access, and refresh tokens. The default unit for RefreshToken is days, and the default for ID and access tokens is hours. |
ReadAttributes |
The list of user attributes that you want your app client to have
read access to. After your user authenticates in your app, their access
token authorizes them to read their own attribute value for any
attribute in this list. An example of this kind of activity is when your
user selects a link to view their profile information. Your app makes a
When you don't specify the |
WriteAttributes |
The list of user attributes that you want your app client to have
write access to. After your user authenticates in your app, their access
token authorizes them to set or modify their own attribute value for any
attribute in this list. An example of this kind of activity is when you
present your user with a form to update their profile information and
they change their last name. Your app then makes an
When you don't specify the If your app client allows users to sign in through an IdP, this array must include all attributes that you have mapped to IdP attributes. Amazon Cognito updates mapped attributes when users sign in to your application through an IdP. If your app client does not have write access to a mapped attribute, Amazon Cognito throws an error when it tries to update the attribute. For more information, see Specifying IdP Attribute Mappings for Your user pool. |
ExplicitAuthFlows |
The authentication flows that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions. If you don't specify a value for Valid values include:
In some environments, you will see the values
|
SupportedIdentityProviders |
A list of provider names for the identity providers (IdPs) that
are supported on this client. The following are supported:
This setting applies to providers that you can access with managed
login. The removal of |
CallbackURLs |
A list of allowed redirect (callback) URLs for the IdPs. A redirect URI must:
See OAuth 2.0 - Redirection Endpoint. Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only. App callback URLs such as |
LogoutURLs |
A list of allowed logout URLs for the IdPs. |
DefaultRedirectURI |
The default redirect URI. Must be in the
A redirect URI must:
See OAuth 2.0 - Redirection Endpoint. Amazon Cognito requires HTTPS over HTTP except for App callback URLs such as |
AllowedOAuthFlows |
The allowed OAuth flows. code Use a code grant flow, which provides an authorization code as the
response. This code can be exchanged for access tokens with the implicit Issue the access token (and, optionally, ID token, based on scopes) directly to your user. client_credentials Issue the access token from the |
AllowedOAuthScopes |
The allowed OAuth scopes. Possible values provided by OAuth are
|
AllowedOAuthFlowsUserPoolClient |
Set to
To use OAuth 2.0 features, configure one of these features in the
Amazon Cognito console or set
|
AnalyticsConfiguration |
The Amazon Pinpoint analytics configuration necessary to collect metrics for this user pool. In Amazon Web Services Regions where Amazon Pinpoint isn't available, user pools only support sending events to Amazon Pinpoint projects in us-east-1. In Regions where Amazon Pinpoint is available, user pools support sending events to Amazon Pinpoint projects within that same Region. |
PreventUserExistenceErrors |
Errors and responses that you want Amazon Cognito APIs to return
during authentication, account confirmation, and password recovery when
the user doesn't exist in the user pool. When set to
Valid values include:
Defaults to |
EnableTokenRevocation |
Activates or deactivates token revocation. For more information
about revoking tokens, see |
EnablePropagateAdditionalUserContextData |
Activates the propagation of additional user context data. For
more information about propagation of user context data, see Adding
advanced security to a user pool. If you don’t include this
parameter, you can't send device fingerprint information, including
source IP address, to Amazon Cognito advanced security. You can only
activate |
AuthSessionValidity |
Amazon Cognito creates a session token for each API request in an
authentication flow. |
Value¶
A list with the following syntax:
list(
UserPoolClient = list(
UserPoolId = "string",
ClientName = "string",
ClientId = "string",
ClientSecret = "string",
LastModifiedDate = as.POSIXct(
"2015-01-01"
),
CreationDate = as.POSIXct(
"2015-01-01"
),
RefreshTokenValidity = 123,
AccessTokenValidity = 123,
IdTokenValidity = 123,
TokenValidityUnits = list(
AccessToken = "seconds"|"minutes"|"hours"|"days",
IdToken = "seconds"|"minutes"|"hours"|"days",
RefreshToken = "seconds"|"minutes"|"hours"|"days"
),
ReadAttributes = list(
"string"
),
WriteAttributes = list(
"string"
),
ExplicitAuthFlows = list(
"ADMIN_NO_SRP_AUTH"|"CUSTOM_AUTH_FLOW_ONLY"|"USER_PASSWORD_AUTH"|"ALLOW_ADMIN_USER_PASSWORD_AUTH"|"ALLOW_CUSTOM_AUTH"|"ALLOW_USER_PASSWORD_AUTH"|"ALLOW_USER_SRP_AUTH"|"ALLOW_REFRESH_TOKEN_AUTH"|"ALLOW_USER_AUTH"
),
SupportedIdentityProviders = list(
"string"
),
CallbackURLs = list(
"string"
),
LogoutURLs = list(
"string"
),
DefaultRedirectURI = "string",
AllowedOAuthFlows = list(
"code"|"implicit"|"client_credentials"
),
AllowedOAuthScopes = list(
"string"
),
AllowedOAuthFlowsUserPoolClient = TRUE|FALSE,
AnalyticsConfiguration = list(
ApplicationId = "string",
ApplicationArn = "string",
RoleArn = "string",
ExternalId = "string",
UserDataShared = TRUE|FALSE
),
PreventUserExistenceErrors = "LEGACY"|"ENABLED",
EnableTokenRevocation = TRUE|FALSE,
EnablePropagateAdditionalUserContextData = TRUE|FALSE,
AuthSessionValidity = 123
)
)
Request syntax¶
svc$update_user_pool_client(
UserPoolId = "string",
ClientId = "string",
ClientName = "string",
RefreshTokenValidity = 123,
AccessTokenValidity = 123,
IdTokenValidity = 123,
TokenValidityUnits = list(
AccessToken = "seconds"|"minutes"|"hours"|"days",
IdToken = "seconds"|"minutes"|"hours"|"days",
RefreshToken = "seconds"|"minutes"|"hours"|"days"
),
ReadAttributes = list(
"string"
),
WriteAttributes = list(
"string"
),
ExplicitAuthFlows = list(
"ADMIN_NO_SRP_AUTH"|"CUSTOM_AUTH_FLOW_ONLY"|"USER_PASSWORD_AUTH"|"ALLOW_ADMIN_USER_PASSWORD_AUTH"|"ALLOW_CUSTOM_AUTH"|"ALLOW_USER_PASSWORD_AUTH"|"ALLOW_USER_SRP_AUTH"|"ALLOW_REFRESH_TOKEN_AUTH"|"ALLOW_USER_AUTH"
),
SupportedIdentityProviders = list(
"string"
),
CallbackURLs = list(
"string"
),
LogoutURLs = list(
"string"
),
DefaultRedirectURI = "string",
AllowedOAuthFlows = list(
"code"|"implicit"|"client_credentials"
),
AllowedOAuthScopes = list(
"string"
),
AllowedOAuthFlowsUserPoolClient = TRUE|FALSE,
AnalyticsConfiguration = list(
ApplicationId = "string",
ApplicationArn = "string",
RoleArn = "string",
ExternalId = "string",
UserDataShared = TRUE|FALSE
),
PreventUserExistenceErrors = "LEGACY"|"ENABLED",
EnableTokenRevocation = TRUE|FALSE,
EnablePropagateAdditionalUserContextData = TRUE|FALSE,
AuthSessionValidity = 123
)