

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation `CreateUserPoolClient` avec un AWS SDK ou une CLI
<a name="cognito-identity-provider_example_cognito-identity-provider_CreateUserPoolClient_section"></a>

Les exemples de code suivants illustrent comment utiliser `CreateUserPoolClient`.

Les exemples d’actions sont des extraits de code de programmes de plus grande envergure et doivent être exécutés en contexte. Vous pouvez voir cette action en contexte dans l’exemple de code suivant : 
+  [Commencer à utiliser les groupes d'utilisateurs Amazon Cognito](cognito-identity-provider_example_cognito_identity_provider_GettingStarted_066_section.md) 

------
#### [ CLI ]

**AWS CLI**  
**Pour créer un client de groupe d’utilisateurs**  
L'`create-user-pool-client`exemple suivant crée un nouveau client de groupe d'utilisateurs avec un secret client, des attributs de lecture et d'écriture explicites, une connexion avec un nom d'utilisateur-mot de passe et des flux SRP, une connexion avec trois, un accès à un sous-ensemble de champs d'application IdPs, des PinPoint analyses et une durée de OAuth validité de session d'authentification étendue.  

```
aws cognito-idp create-user-pool-client \
    --user-pool-id {{us-west-2_EXAMPLE}} \
    --client-name {{MyTestClient}} \
    --generate-secret \
    --refresh-token-validity {{10}} \
    --access-token-validity {{60}} \
    --id-token-validity {{60}} \
    --token-validity-units {{AccessToken=minutes,IdToken=minutes,RefreshToken=days}} \
    --read-attributes {{email}} {{phone_number}} {{email_verified}} {{phone_number_verified}} \
    --write-attributes {{email}} {{phone_number}} \
    --explicit-auth-flows {{ALLOW_USER_PASSWORD_AUTH}} {{ALLOW_USER_SRP_AUTH}} {{ALLOW_REFRESH_TOKEN_AUTH}} \
    --supported-identity-providers {{Google}} {{Facebook}} {{MyOIDC}} \
    --callback-urls {{https://www.amazon.com}} {{https://example.com}} {{http://localhost:8001}} {{myapp://example}} \
    --allowed-o-auth-flows {{code}} {{implicit}} \
    --allowed-o-auth-scopes {{openid}} {{profile}} {{aws.cognito.signin.user.admin}} {{solar-system-data/asteroids.add}} \
    --allowed-o-auth-flows-user-pool-client \
    --analytics-configuration {{ApplicationArn=arn:aws:mobiletargeting:us-west-2:767671399759:apps/thisisanexamplepinpointapplicationid,UserDataShared=TRUE}} \
    --prevent-user-existence-errors {{ENABLED}} \
    --enable-token-revocation \
    --enable-propagate-additional-user-context-data \
    --auth-session-validity {{4}}
```
Sortie :  

```
{
    "UserPoolClient": {
        "UserPoolId": "us-west-2_EXAMPLE",
        "ClientName": "MyTestClient",
        "ClientId": "123abc456defEXAMPLE",
        "ClientSecret": "this1234is5678my91011example1213client1415secret",
        "LastModifiedDate": 1726788459.464,
        "CreationDate": 1726788459.464,
        "RefreshTokenValidity": 10,
        "AccessTokenValidity": 60,
        "IdTokenValidity": 60,
        "TokenValidityUnits": {
            "AccessToken": "minutes",
            "IdToken": "minutes",
            "RefreshToken": "days"
        },
        "ReadAttributes": [
            "email_verified",
            "phone_number_verified",
            "phone_number",
            "email"
        ],
        "WriteAttributes": [
            "phone_number",
            "email"
        ],
        "ExplicitAuthFlows": [
            "ALLOW_USER_PASSWORD_AUTH",
            "ALLOW_USER_SRP_AUTH",
            "ALLOW_REFRESH_TOKEN_AUTH"
        ],
        "SupportedIdentityProviders": [
            "Google",
            "MyOIDC",
            "Facebook"
        ],
        "CallbackURLs": [
            "https://example.com",
            "https://www.amazon.com",
            "myapp://example",
            "http://localhost:8001"
        ],
        "AllowedOAuthFlows": [
            "implicit",
            "code"
        ],
        "AllowedOAuthScopes": [
            "aws.cognito.signin.user.admin",
            "openid",
            "profile",
            "solar-system-data/asteroids.add"
        ],
        "AllowedOAuthFlowsUserPoolClient": true,
        "AnalyticsConfiguration": {
            "ApplicationArn": "arn:aws:mobiletargeting:us-west-2:123456789012:apps/thisisanexamplepinpointapplicationid",
            "RoleArn": "arn:aws:iam::123456789012:role/aws-service-role/cognito-idp.amazonaws.com/AWSServiceRoleForAmazonCognitoIdp",
            "UserDataShared": true
        },
        "PreventUserExistenceErrors": "ENABLED",
        "EnableTokenRevocation": true,
        "EnablePropagateAdditionalUserContextData": true,
        "AuthSessionValidity": 4
    }
}
```
Pour plus d’informations, consultez [Paramètres spécifiques à l’application avec des clients de l’application](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-client-apps.html) dans le *Guide du développeur Amazon Cognito*.  
+  Pour plus de détails sur l'API, reportez-vous [CreateUserPoolClient](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cognito-idp/create-user-pool-client.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ Java ]

**SDK pour Java 2.x**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/cognito#code-examples). 

```
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.cognitoidentityprovider.CognitoIdentityProviderClient;
import software.amazon.awssdk.services.cognitoidentityprovider.model.CognitoIdentityProviderException;
import software.amazon.awssdk.services.cognitoidentityprovider.model.CreateUserPoolClientRequest;
import software.amazon.awssdk.services.cognitoidentityprovider.model.CreateUserPoolClientResponse;

/**
 * A user pool client app is an application that authenticates with Amazon
 * Cognito user pools.
 * When you create a user pool, you can configure app clients that allow mobile
 * or web applications
 * to call API operations to authenticate users, manage user attributes and
 * profiles,
 * and implement sign-up and sign-in flows.
 *
 * Before running this Java V2 code example, set up your development
 * environment, including your credentials.
 *
 * For more information, see the following documentation topic:
 * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
 */
public class CreateUserPoolClient {
    public static void main(String[] args) {
        final String usage = """

                Usage:
                    <clientName> <userPoolId>\s

                Where:
                    clientName - The name for the user pool client to create.
                    userPoolId - The ID for the user pool.
                """;

        if (args.length != 2) {
            System.out.println(usage);
            System.exit(1);
        }

        String clientName = args[0];
        String userPoolId = args[1];
        CognitoIdentityProviderClient cognitoClient = CognitoIdentityProviderClient.builder()
                .region(Region.US_EAST_1)
                .build();

        createPoolClient(cognitoClient, clientName, userPoolId);
        cognitoClient.close();
    }

    public static void createPoolClient(CognitoIdentityProviderClient cognitoClient, String clientName,
            String userPoolId) {
        try {
            CreateUserPoolClientRequest request = CreateUserPoolClientRequest.builder()
                    .clientName(clientName)
                    .userPoolId(userPoolId)
                    .build();

            CreateUserPoolClientResponse response = cognitoClient.createUserPoolClient(request);
            System.out.println("User pool " + response.userPoolClient().clientName() + " created. ID: "
                    + response.userPoolClient().clientId());

        } catch (CognitoIdentityProviderException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
    }
}
```
+  Pour plus de détails sur l'API, reportez-vous [CreateUserPoolClient](https://docs.aws.amazon.com/goto/SdkForJavaV2/cognito-idp-2016-04-18/CreateUserPoolClient)à la section *Référence des AWS SDK for Java 2.x API*. 

------

Pour obtenir la liste complète des guides de développement du AWS SDK et des exemples de code, consultez[Utilisation de ce service avec un AWS SDK](sdk-general-information-section.md). Cette rubrique comprend également des informations sur le démarrage et sur les versions précédentes du kit SDK.