Création d'un registre d'utilisateurs OIDC dans API Manager

Créez un registre d'utilisateurs OIDC propre à votre organisation lorsque l'authentification multifactorielle (MFA) est requise.

Important : si vous utilisez X (anciennement Twitter) comme fournisseur OIDC, API Connect celui-ci ne prend en charge que la méthode OAuth 1.0a; votre application X doit donc être configurée pour utiliser OAuth 1.0a. D'autres fournisseurs OIDC prennent en charge OAuth 2.0.

API Connect fournit deux méthodes pour créer un registre d'utilisateurs OIDC dans API Designer, comme décrit dans les sections suivantes:

Utilisation de l'interface utilisateur pour créer un registre d'utilisateurs OIDC

Utilisez l'interface utilisateur de l'API Designer pour créer un registre d'utilisateurs OIDC propre à votre organisation lorsque l'authentification multifactorielle (MFA) est requise.

  1. Dans la page de navigation de l'API Designer, cliquez sur Ressources Ressources.
  2. Cliquez sur Registres d'utilisateurs.
  3. Cliquez sur Créer et sélectionnez Registre d'utilisateurs OIDC.
    Important : ne partagez pas les registres d'utilisateurs entre l 'API Manager et le Consumer Catalog, ni entre les sites du Consumer Catalog lorsque l'intégration en libre-service est activée ou que des suppressions de comptes sont prévues sur l'un de ces sites. Vous devez créer des registres d'utilisateurs distincts pour chacun d'entre eux, même si ces registres pointent vers le même fournisseur d'authentification en arrière-plan (par exemple, un serveur LDAP ). Cette distinction permet au Catalogue grand public de conserver des adresses e-mail uniques dans l'ensemble du catalogue, sans que l'API Manager ne soit soumis à la même exigence. Cela permet également d'éviter les problèmes liés à la suppression de comptes par les utilisateurs dans le catalogue grand public, qui affecte ensuite leur accès à API Manager.
  4. Sur la page Créer un registre d'utilisateurs OIDC, utilisez les zones dans chacune des sections suivantes pour configurer les paramètres du registre, puis cliquez sur Créer.

    De nombreux paramètres de registre sont préconfigurés pour simplifier les étapes de configuration.

    Type de fournisseur
    Utilisez les paramètres du Tableau 1 pour définir le type de fournisseur.
    Tableau 1. Paramètres du type de fournisseur
    Zone Descriptif
    Type de fournisseur Fournisseur OIDC. Sélectionnez l'un des fournisseurs OIDC pris en charge suivants :
    • <
    • GitHub
    • Google
    • LinkedIn
    • Citation
    • X (anciennement Twitter)
    • Windows™ Live
    • OIDC standard (la valeur par défaut vous permet de spécifier un autre fournisseur)
    Titre Indiquez un nom descriptif pour l'affichage.
    Nom Généré automatiquement. Ce nom est utilisé dans les commandes de l'interface de ligne de commande pour référencer le registre. Pour plus d'informations sur les commandes CLI permettant de gérer les registres d'utilisateurs, consultez la documentation de référence sur l'interface CLI de la boîte à outils.
    Récapitulatif Indiquez une brève description du nouveau registre.
    Courrier électronique requis Sélectionnez cette option si une adresse e-mail est requise dans le cadre du processus d'inscription de l'utilisateur. Si cette option est sélectionnée, le fournisseur d'identité source doit fournir l'adresse électronique dans le cadre du processus d'authentification lors de l'intégration.
    Remarque : une adresse e-mail n'est pas requise par défaut pour l'intégration à Cloud Manager ou au catalogue grand public.
    Adresse email unique Sélectionnez cette option si les adresses e-mail doivent être uniques au sein du registre des utilisateurs.
    Remarque : chaque compte du catalogue des utilisateurs, y compris ceux figurant dans différents registres d'utilisateurs pour un même site, doit disposer d'une adresse e-mail unique, y compris le compte administrateur du site.
    Noeud final de fournisseur
    Généré automatiquement pour la plupart des fournisseurs pris en charge. Dans la zone Noeud final de l'autorisation, entrez l'URL du noeud final de l'autorisation du fournisseur.
    Nœud final de jeton
    Renseignez les paramètres, comme indiqué dans le Tableau 2.
    Tableau 2. Paramètres du point de terminaison des jetons
    Zone Descriptif
    URL Préconfigurée pour la plupart des fournisseurs OIDC pris en charge. Entrez l'URL du noeud final de jeton du fournisseur.
    TLS Sélectionnez le profil client TLS pour le noeud final de jeton (OIDC doit être configuré pour utiliser TLS). La valeur par défaut est Profil de client TLS par défaut.
    Noeud final UserInfo
    Renseignez les paramètres, comme indiqué dans le Tableau 3.
    Tableau 3. UserInfo Paramètres des terminaux
    Zone Descriptif
    URL Préconfigurée pour la plupart des fournisseurs OIDC pris en charge. Entrez l'URL du noeud final userinfo du fournisseur.
    Pour LinkedIn, le point final a changé et utilise maintenant la valeur suivante :
    https://api.linkedin.com/v2/me
    Si vous avez précédemment configuré le registre OIDC à l'aide du protocole OIDC LinkedIn existant, vous n'avez pas besoin de spécifier ce noeud final.
    TLS Sélectionnez le profil client TLS pour le noeud final userinfo (OIDC doit être configuré pour utiliser TLS). La valeur par défaut est Profil de client TLS par défaut.
    Noeud final de courrier électronique
    Requis pour le protocole OIDC LinkedIn existant.

    En raison des modifications apportées à LinkedIn, les paramètres de configuration du registre OIDC dans API Connect ont également changé. Si vous configurez un nouveau registre OIDC pour LinkedIn, vous pouvez laisser le champ Email Endpoint vide.

    Si vous avez précédemment configuré un registre OIDC à utiliser avec le protocole OIDC LinkedIn existant, mettez à jour votre configuration en fournissant les paramètres de noeud final d'e-mail comme décrit dans le tableau 4. Le nouveau paramètre est requis pour le protocole OIDC LinkedIn existant.

    Tableau 4. Paramètres de messagerie pour les terminaux
    Zone Descriptif
    URL Pour le protocole OIDC LinkedIn existant, cette zone prend par défaut la valeur suivante:
    https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))
    Vous pouvez remplacer le paramètre en entrant une nouvelle valeur.
    TLS Sélectionnez le profil client TLS pour le noeud final userinfo (OIDC doit être configuré pour utiliser TLS). La valeur par défaut est Profil de client TLS par défaut.
    Noeud final JWKS
    Renseignez les paramètres, comme indiqué dans le Tableau 5.
    Tableau 5. Paramètres du terminal JWKS
    Zone Descriptif
    URL Entrez l'URL du noeud final en lecture seule contenant les informations de clés publiques au format JWKS.
    TLS Sélectionnez le profil client TLS pour le noeud final userinfo (OIDC doit être configuré pour utiliser TLS). La valeur par défaut est Profil de client TLS par défaut.
    Déconnexion
    Vous pouvez configurer l'un ou l'autre des types de prise en charge de la déconnexion suivants, mais pas les deux :
    • Redirection après déconnexion :

      Vous permet de définir ce que l'utilisateur voit après s'être déconnecté API Connect; par exemple, vous pouvez choisir de « rediriger » l'utilisateur vers le point de terminaison de déconnexion du fournisseur OIDC ou vers une autre adresse. Lorsque l'utilisateur se déconnecte de API Connect, le navigateur est redirigé vers l'adresse URL indiquée afin que le traitement soit pris en charge par le service URL spécifié.

    • Déconnexion déclenchée par RP :

      Fournit un formulaire plus sécurisé, conformément au profil « Connect RP-Initiated Logout » de l' OpenID. 1.0 Lorsque l'utilisateur se déconnecte de API Connect, API Connect envoie une requête POST à l'endpoint spécifié URL afin d'effacer la session de l'utilisateur. Avec cette option, vous pouvez également indiquer, si vous le souhaitez, un point de redirection pour la déconnexion du RP : URL.

    Renseignez les paramètres, comme indiqué dans le Tableau 6.

    Tableau 6. Options de déconnexion
    Zone Descriptif
    URL de redirection de déconnexion Facultatif. Fournissez une URL ( URL ) permettant de rediriger le navigateur lorsque l'utilisateur se déconnecte de API Connect.

    Si vous utilisez cette option, n'activez pas la déconnexion du RP OIDC.

    Activer la déconnexion du RP OIDC Sélectionnez cette option pour utiliser la déconnexion déclenchée par le serveur de réplication (RP) au lieu de la redirection de déconnexion classique.

    Si vous utilisez cette option, ne fournissez pas d' URL de redirection après la déconnexion. Lors d'une déconnexion initiée par le RP, vous pouvez, si vous le souhaitez, indiquer une adresse de redirection pour la déconnexion RP URL.

    URL de nœud final auquel le RP émettra une requête POST Indiquez l' URL s du point de terminaison où la requête POST sera exécutée; par exemple, le point de terminaison d'autorisation du fournisseur OpenID.
    TLS Sélectionnez le profil « TLS » à utiliser lors de l'envoi de la requête POST vers le point de terminaison du fournisseur « OpenID ».
    URL du noeud final de redirection de déconnexion du RP Facultatif. Indiquez une URL ( URL ) vers laquelle le fournisseur OIDC peut rediriger l'utilisateur après l'opération de déconnexion. L' URL e fonctionne comme décrit dans le profil « post_logout_redirect_uriOpenID Connect RP-Initiated Logout » 1.0.
    Inclure le refresh_token lors de la déconnexion Facultatif. Autoriser l'inclusion du refresh_token, en plus de l'id_token_hint, conformément au profil de déconnexion initiée par le RP d' OpenID Connect 1.0.
    Informations Client
    Renseignez les paramètres comme indiqué dans le tableau 7.
    Tableau 7. Paramètres des informations client
    Zone Descriptif
    ID de client Indiquez l'ID client de l'application qui est enregistrée auprès du fournisseur OIDC sélectionné.
    Secret du client Indiquez la valeur secrète du client de l'application qui est enregistrée auprès du fournisseur OIDC sélectionné. Cette zone est facultative lorsque vous créez un répertoire OIDC de type Standard et que vous définissez Client Authentication Method sur Data encoded form body.

    Si vous n'utilisez pas le secret client, assurez-vous que l' TLS e mutuelle est configurée avec le fournisseur OIDC. Pour activer l' TLS e mutuelle, créez un profil TLS et intégrez-le à la configuration du registre des utilisateurs OIDC.

    Type de réponse Préconfigurée pour la plupart des fournisseurs OIDC pris en charge. Indiquez le type de données de la réponse qui sera reçue du fournisseur OIDC.
    Portées Préconfigurée pour la plupart des fournisseurs OIDC pris en charge. Indiquez la portée d'accès du fournisseur OIDC.
    Méthode d'authentification de client Préconfigurée pour la plupart des fournisseurs OIDC pris en charge. Sélectionnez la méthode d'authentification à utiliser avec le fournisseur OIDC. Les options sont les suivantes :
    • Schéma d'authentification de base HTTP
    • Corps de formulaire codé à l'aide de données
    Support supplémentaire
    Facultatif. Sélectionnez les paramètres de sécurité supplémentaires décrits dans le tableau 8.
    Tableau 8. Options de sécurité supplémentaires
    Paramètre de sécurité Définition du nom de l'interface CLI Descriptif
    NONCE nonce Activez l'extension NONCE pour empêcher une nouvelle utilisation des demandes compromises (réexécution).
    Clé de preuve pour l'échange de code (PKCE) pkce Activez l'extension PKCE pour permettre aux clients publics d'atténuer la menace d'interception du code d'autorisation.
    Fonctionnalités avancées
    Facultatif. Sélectionnez les fonctions avancées décrites dans le tableau 9.
    Tableau 9. Fonctionnalités avancées
    Libellé de la fonction / de l'interface utilisateur Définition du nom de l'interface CLI Descriptif
    Intégration automatique auto_onboard Autorisez les utilisateurs à exécuter des appels vers des API sans commencer par se connecter, à condition qu'ils présentent un jeton valide émis par le fournisseur OIDC.
    Remarque: ne s'applique pas aux organisations de type consommateur.
    Toujours utiliser le noeud final userinfo userinfo Configurez le registre d'utilisateurs OIDC pour toujours extraire des données utilisateur du noeud final userinfo, s'il est rempli.
    Utiliser le portail comme noeud final pour le trafic de fournisseur OIDC externe proxy_redirect Lors de l'authentification des utilisateurs, redirigez le fournisseur OIDC externe vers le Consumer Catalog plutôt que vers l'API Manager. Une fois cette option activée, l'URI de redirection du catalogue des consommateurs doit être défini sur /ibm_apim/oidcredirect. Pour plus d'informations, consultez la section URI de redirection.
    Renvoyer le jeton d'accès tiers proxy_access_token Incluez le jeton d'accès OIDC tiers dans la réponse.
    Remarque: activez ce paramètre à des fins de débogage uniquement.

    Ce paramètre n'est pas recommandé pour une utilisation dans un environnement de production. Lorsque ce paramètre est activé, la taille du jeton augmente lorsqu'une requête est envoyée à API Connect à l'aide de ce jeton. La taille plus importante du jeton pourrait dépasser la limite du protocole HTTP, ce qui entraînerait une erreur de type « ERR_HTTP2_PROTOCOL_ERROR » ou « ERR_CONNECTION_CLOSED ».

    Vous pouvez contourner ce problème de taille en activant également les revendications « Return third-party access_token » et « id_token » en tant que revendications distinctes, de sorte que les jetons tiers ne soient pas ajoutés au jeton d'accès émis API Connect.

    Renvoyer l'élément id_token tiers proxy_id_token Incluez le jeton id_token OIDC tiers dans la réponse.
    Remarque: activez ce paramètre à des fins de débogage uniquement.

    Ce paramètre n'est pas recommandé pour une utilisation dans un environnement de production. Lorsque ce paramètre est activé, la taille du jeton augmente lorsqu'une requête est envoyée à API Connect à l'aide de ce jeton. La taille plus importante du jeton pourrait dépasser la limite du protocole HTTP, ce qui entraînerait une erreur de type « ERR_HTTP2_PROTOCOL_ERROR » ou « ERR_CONNECTION_CLOSED ».

    Vous pouvez contourner ce problème de taille en activant également les revendications « Return third-party access_token » et « id_token » en tant que revendications distinctes, de sorte que les jetons tiers ne soient pas ajoutés au jeton d'accès émis API Connect.

    Renvoyer les jetons access_token et id_token du tiers sous forme de revendications distinctes proxied_token_as_separate_claim Incluez les jetons OIDC tiers (le proxy_access_token et proxy_id_tokenle ) dans la réponse sous forme de revendications distinctes, au lieu de les ajouter à l'access_token émis par API Connect. Pour utiliser cette fonctionnalité, vous devez activer au moins l'une des options « Renvoyer le jeton d'accès tiers » et « Renvoyer l'id_token tiers ».

    Le fait de séparer les jetons tiers empêche ceux-ci d'influencer la taille de l'access_token émis par API Connect.

    Relais de jeton token_relay Autoriser access_token/refresh_token à envoyer une redirection 302 pour la déconnexion
    POST Userinfo post_userinfo Si pris en charge par votre fournisseur OIDC, en utilisant la méthode HTTP POST lors du contact avec le noeud final userinfo.
    Remarque: tous les fournisseurs OIDC ne prennent pas en charge POST. Vérifiez que votre fournisseur OIDC prend en charge cette fonction avant de l'activer.
    Utiliser le paramètre d'expiration du jeton APIC d' IBM® depuis le cloud override_provider_ttl Remplacez le paramètre d'expiration de jeton du fournisseur OIDC par les paramètres d'expiration de jeton d'accès et de jeton d'actualisation configurés dans API Connect. Pour plus d'informations sur la configuration des paramètres d'expiration du jeton d'accès et du jeton d'actualisation dans API Connect, voir Configuration des délais d'attente pour les jetons d'accès et les jetons d'actualisation.
    Désactiver la vérification de hachage (interface de ligne de commande uniquement) disable_hash_verification Désactivez at_hash, c_hash
    Mappage d'utilisateurs
    Renseignez les paramètres comme indiqué dans le tableau 10.
    Remarque: Les zones Mappage d'utilisateur sont préconfigurées pour la plupart des fournisseurs OIDC pris en charge afin de réduire les erreurs potentielles ; faites attention lors de la modification des paramètres. Pour l'option OIDC standard, contactez votre fournisseur OIDC pour obtenir des détails sur les zones.
    Tableau 10. Paramètres de mappage des utilisateurs
    Zone Descriptif
    Nom d'utilisateur Nom de la zone du jeton de réponse contenant le nom de l'utilisateur.
    Remarque: La zone Nom d'utilisateur doit être unique pour ce registre OIDC, car elle identifie l'utilisateur dans le système et ne peut pas être modifiée.
    E-mail Nom de la zone du jeton de réponse contenant l'adresse électronique de l'utilisateur.
    Prénom Nom de la zone du jeton de réponse contenant le nom donné de l'utilisateur.
    Nom de famille Nom de la zone du jeton de réponse contenant le nom de famille de l'utilisateur.
    URI de redirection
    La section URI de redirection répertorie les noeuds finaux vers lesquels le serveur d'autorisation OIDC redirigera le code d'autorisation. Il existe un noeud final pour chaque type d'organisation API Connect : administration du cloud, organisation de type fournisseur et organisation de type consommateur. Le noeud final de redirection est requis lorsqu'un utilisateur enregistre son application auprès du fournisseur OIDC. Par exemple, si ce registre d'utilisateurs OIDC est utilisé par une organisation de type fournisseur, l'utilisateur doit enregistrer le noeud final de redirection de l'organisation de type fournisseur auprès du fournisseur OIDC. Ces zones en lecture seule vous sont automatiquement fournies afin de copier les valeurs de noeud final selon les besoins.
    Remarque : si le catalogue des consommateurs est accessible au public et que vous sélectionnez cette proxy_redirect option, vous devez configurer votre fournisseur OIDC pour qu'il utilise l'URI de redirection suivante :
    • Chemin URI : /ibm_apim/oidcredirect
    • Exemple complet d' URL : https://<your-developer-portal-domain>/ibm_apim/oidcredirect
    Où :

    <your-developer-portal-domain> correspond au nom d'hôte réel de votre catalogue grand public; par exemple, developer.example.com.

    Cette configuration garantit que le fournisseur OIDC peut rediriger correctement les utilisateurs authentifiés vers le catalogue des consommateurs dans le cadre du processus de connexion.

Activation du registre d'utilisateurs OIDC

Suivez les étapes suivantes pour activer le nouveau registre des utilisateurs pour un catalogue spécifique dans le catalogue grand public. Répétez cette procédure pour chaque catalogue qui utilisera le nouveau registre.

  1. Dans le volet de navigation, cliquez sur Icône « Gérer » Gérer.
  2. Sélectionnez le catalogue pour lequel vous allez activer le nouveau registre d'utilisateurs OIDC.
  3. Dans le panneau de navigation, cliquez sur l'onglet Paramètres de catalogue.
  4. Sur la page Paramètres , cliquez sur Intégration.
  5. Sur la page Intégration , cliquez sur Editer dans la section Registres d'utilisateurs du catalogue .
  6. Sur la page Editer le registre d'utilisateurs, sélectionnez le nouveau registre d'utilisateurs OIDC à activer pour votre catalogue.
  7. Cliquez sur Sauvegarder.

Utilisation de l'interface de ligne de commande pour créer un registre d'utilisateurs OIDC

Utilisez l'interface de ligne de commande du kit d'outils de développement pour créer un registre d'utilisateurs OIDC spécifique à l'organisation lorsque l'authentification multi-facteur est requise.

Important : ne partagez pas les registres d'utilisateurs entre l 'API Manager et le Consumer Catalog, ni entre les sites du Consumer Catalog lorsque l'intégration en libre-service est activée ou que des suppressions de comptes sont prévues sur l'un de ces sites. Vous devez créer des registres d'utilisateurs distincts pour chacun d'entre eux, même si ces registres pointent vers le même fournisseur d'authentification en arrière-plan (par exemple, un serveur LDAP ). Cette distinction permet au Catalogue grand public de conserver des adresses e-mail uniques dans l'ensemble du catalogue, sans que l'API Manager ne soit soumis à la même exigence. Cela permet également d'éviter les problèmes liés à la suppression de comptes par les utilisateurs dans le catalogue grand public, qui affecte ensuite leur accès à API Manager.
Configurez un registre d'utilisateurs OIDC en définissant d'abord les détails du registre dans un fichier de configuration. Vous utilisez ensuite une commande CLI pour créer le registre, en transmettant le fichier de configuration en tant que paramètre. Pour que le registre soit accessible au catalogue des consommateurs, vous devez l'activer dans le catalogue associé.
Remarque :
  • Un registre OIDC ne peut pas être utilisé pour sécuriser les API sur la passerelle.
  • Si vous utilisez un registre d'utilisateurs OIDC pour la connexion, le serveur de gestion gère l'interaction avec le fournisseur OIDC tiers. Le serveur de gestion est considéré comme l'application du point de vue du fournisseur OIDC tiers. Par conséquent, votre point de redirection OIDC sur le serveur de gestion, que le serveur d'autorisation tiers utilise pour envoyer le jeton, doit être accessible au fournisseur OIDC. Pour garantir les fonctions de connexion, vous devez autoriser l'accès si votre environnement API Connect est protégé par un pare-feu. Ceci est vrai pour la connexion des utilisateurs à la fois sur API Manager et Cloud Manager.
  • Si le registre des utilisateurs OIDC est utilisé pour la connexion des utilisateurs au catalogue des consommateurs et que ce dernier se trouve dans la zone démilitarisée (DMZ), vous pouvez utiliser la proxy_redirect propriété. Cela permet au catalogue des consommateurs de servir de point de terminaison pour acheminer les communications entre le fournisseur OIDC et API Connect.
  • Lorsque vous enregistrez votre application auprès du fournisseur OIDC tiers, vous devez fournir l'URI de redirection OIDC associée, par exemple https://consumer.mycompany.com/consumer-api/oauth2/redirect. Toutefois, vous ne pouvez pas accéder à ces informations tant que vous n'avez pas créé votre registre d'utilisateurs de l'OIDC sur API Connect. Dans un premier temps, enregistrez votre demande sans ces informations, puis mettez-la à jour ultérieurement, comme indiqué dans les instructions de cette page.

Connexion au serveur de gestion

Avant de pouvoir créer un registre d'utilisateurs OIDC, vous devez vous connecter à votre serveur de gestion depuis l'interface CLI. Utilisez la commande suivante :
apic login --server mgmt_endpoint_url --username user_id --password password --realm provider/identity_provider
Vous pouvez choisir le fournisseur d'identité à utiliser avec le paramètre --realm en entrant la commande suivante qui permet d'afficher la liste de tous les fournisseurs d'identité disponibles (vous n'avez pas besoin d'être connecté pour utiliser cette commande) :
apic identity-providers:list --scope provider --server platform_api_endpoint_url --fields title,realm
Exemple :
apic identity-providers:list --scope provider --server platform_api_endpoint_url --fields title,realm 
total_results: 2
results:
  - title: API Manager User Registry
    realm: provider/default-idp-2
  - title: Corporate LDAP user registry
    realm: provider/corporate-ldap
La valeur title devrait vous aider à déterminer le fournisseur d'identité à utiliser. Vous pouvez copier le paramètre --realm correspondant directement à partir de la valeur realm affichée. Pour tous les fournisseurs d'identité créés par votre administrateur après API Connect l'installation de [nom du logiciel], les noms sont déterminés au moment de la création. Le registre d'utilisateurs local d'API Manager par défaut pour la connexion en tant que membre d'une organisation de type fournisseur est default-idp-2.

Pour plus de détails sur la commande apic login , voir Connexion à un serveur de gestion.

Définition de votre configuration de registre OIDC

Définissez la configuration de votre registre d'utilisateurs OIDC dans un fichier YAML. Au minimum, le fichier YAML doit inclure les paramètres de la liste suivante. Pour plus de paramètres, voir les tableaux fournis avec la version d'interface utilisateur de la procédure dans cette rubrique.
title: registry_title
integration_url: oidc_integration_url
case_sensitive: case_sensitivity_setting
email_required: true_or_false
email_unique_if_exist: true_or_false
configuration:
  client_id: 'app_client_id'
  client_secret: 'my-client-secret'
  provider_type: oidc_provider_type
où :
  • registry_title est le titre descriptif que vous avez choisi pour votre registre d'utilisateurs.
  • oidc_integration_url est l' URL intégration de l'OIDC dans votre configuration API Connect. Vous pouvez déterminer l'URL d'intégration OIDC en utilisant la commande CLI suivante :
    apic integrations:list --server mgmt_endpoint_url --subcollection user-registry
  • case_sensitivity_setting détermine si votre registre d'utilisateurs est sensible à la casse. Les valeurs valides sont :
    • true
    • false
    Pour garantir une gestion correcte de la casse des noms d'utilisateur, assurez-vous que le paramètre de distinction entre majuscules et minuscules défini ici correspond à celui du fournisseur OIDC en arrière-plan :
    • Ne définissez cette valeur case_sensitive sur que true si le fournisseur OIDC en arrière-plan prend en charge la distinction entre majuscules et minuscules.
    • Définissez case_sensitive sur false si le fournisseur OIDC de back end ne prend pas en charge la sensibilité à la casse.
    Remarque : une fois qu'au moins un utilisateur a été ajouté au registre, vous ne pouvez plus modifier ce paramètre.
  • email_required détermine si une adresse électronique est requise dans le cadre du processus d'intégration des utilisateurs. Les valeurs valides sont :
    • true
    • false
    Si la valeur est true, le fournisseur d'identité source doit fournir l'adresse électronique dans le cadre du processus d'authentification lors de l'intégration.
    Remarque : une adresse e-mail n'est pas requise par défaut pour l'intégration à Cloud Manager ou à API Manager, mais elle est obligatoire pour l'intégration au Consumer Catalog.
  • email_unique_if_exist détermine si les adresses électroniques doivent être uniques dans le registre d'utilisateurs. Les valeurs valides sont :
    • true
    • false
    Remarque : chaque compte du catalogue des utilisateurs, y compris ceux figurant dans différents registres d'utilisateurs pour un même site, doit disposer d'une adresse e-mail unique, y compris le compte administrateur du site.
  • app_client_id est l'ID client de l'application qui est enregistrée avec le serveur OIDC et doit être au format chaîne.
  • my-client-secret est la valeur secrète du client de l'application qui est enregistrée avec le serveur OIDC, et doit être au format chaîne.
  • oidc_provider_type est le type de fournisseur OIDC ; spécifiez l'une des valeurs suivantes :
    • facebook
    • github
    • google
    • linkedin
    • slack
    • twitter
    • windows_live
    • standard
      Remarque :
      • Utilisez le type de fournisseur twitter si votre fournisseur OIDC est X (anciennement Twitter).
      • Utilisez le type de fournisseur standard pour n'importe quel fournisseur OIDC compatibles avec la norme OIDC.
        Si le type de fournisseur est standard, vous devez inclure les propriétés suivantes dans la section configuration de votre fichier YAML :
        authorization_endpoint: 'oidc_auth_endpoint'
        token_endpoint:
          endpoint: 'oidc_token_endpoint'
        où :
        • oidc_auth_endpoint est le noeud final d'autorisation sur le serveur OIDC, et doit être au format chaîne.
        • oidc_token_endpoint est le noeud final de jeton sur le serveur OIDC, et doit être au format chaîne.

Configurations OIDC par défaut

Pour chaque type de fournisseur OIDC, API Connect suppose une configuration par défaut, mais vous pouvez remplacer les propriétés de configuration par défaut dans votre fichier YAML.

Remarque: les noeuds finaux sont sujets à modification ; lorsque vous créez un registre, vous devez vérifier le noeud final par défaut fourni par API Connect.

API Connect s'efforce de mettre à jour les noeuds finaux pour les types de registre d'utilisateurs OIDC connus. Toutefois, le fournisseur OIDC peut modifier le noeud final à tout moment. Il incombe au client de confirmer que les noeuds finaux fournis par API Connect sont pris en charge par le fournisseur OIDC et de mettre à jour la configuration OIDC selon les besoins.

Les configurations par défaut sont les suivantes :

  • <
    authorization_endpoint: 'https://www.facebook.com/v3.1/dialog/oauth'
    token_endpoint:
      endpoint: 'https://graph.facebook.com/v3.1/oauth/access_token'
    userinfo_endpoint:
      endpoint: 'https://graph.facebook.com/me'
    scope: email public_profile
    field_mapping:
      username: email
      email: email
      last_name: last_name
      first_name: first_name
  • GitHub
    authorization_endpoint: 'https://github.com/login/oauth/authorize'
    token_endpoint:
      endpoint: 'https://github.com/login/oauth/access_token'
    userinfo_endpoint:
      endpoint: 'https://api.github.com/user'
    scope: 'read:user user:email'
    field_mapping:
      username: login
      email: email
      last_name: name
      first_name: name
  • Google
    authorization_endpoint: 'https://accounts.google.com/o/oauth2/v2/auth'
    token_endpoint:
      endpoint: 'https://www.googleapis.com/oauth2/v4/token'
    scope: openid profile email
    field_mapping:
      username: email
      email: email
      last_name: family_name
      first_name: given_name
    
  • LinkedIn

    Certains paramètres diffèrent entre la configuration existante et la configuration plus récente. Veillez à utiliser les paramètres corrects pour le protocole LinkedIn que vous utilisez.

    • Nouveau protocole OIDC:
      authorization_endpoint: 'https://www.linkedin.com/oauth/v2/authorization'
        credential_location: form_body
        field_mapping:
          email: email
          username: name
          first_name: given_name
          last_name: family_name
        scope: openid profile email
        token_endpoint:
          endpoint: 'https://www.linkedin.com/oauth/v2/accessToken'
        userinfo_endpoint:
          endpoint: 'https://api.linkedin.com/v2/me'
    • Protocole OIDC existant:
      authorization_endpoint: 'https://www.linkedin.com/oauth/v2/authorization'
      token_endpoint:
        endpoint: 'https://www.linkedin.com/oauth/v2/accessToken'
      userinfo_endpoint:
        endpoint: 'https://api.linkedin.com/v2/me'
      email_endpoint:
        endpoint: 'https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))'
      scope: r_liteprofile r_emailaddress
      field_mapping:
        username: emailAddress
        email: emailAddress
        last_name: localoizedLastName
        first_name: localizedFirstName
      credential_location: form_body
  • Citation
    authorization_endpoint: 'https://slack.com/oauth/authorize'
    token_endpoint:
      endpoint: 'https://slack.com/api/oauth.access'
    userinfo_endpoint:
      endpoint: 'https://slack.com/api/users.identity'
    scope: identity.basic identity.email
    field_mapping:
      username: user.email
      email: user.email
      last_name: user.name
      first_name: user.name
  • X (anciennement Twitter)
    request_endpoint: https://api.x.com/oauth/request_token'
    authorization_endpoint: https://api.x.com/oauth/authenticate'
    token_endpoint: 
        endpoint: 'https://api.x.com/oauth/access_token'
    userinfo_endpoint:
        endpoint: 'https://api.x.com/1.1/account/verify_credentials.json'
    oauth_signature_method: 'HMAC-SHA1'
    field_mapping: 
        email: email
        first_name: name
        last_name: name
        username: screen_name
  • Windows Live
    authorization_endpoint: 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize'
    token_endpoint:
      endpoint: 'https://login.microsoftonline.com/common/oauth2/v2.0/token'
    scope: openid offline_access profile email
    field_mapping:
      email: email
      username: preferred_username
      first_name: name
      last_name: name
    
  • standard
    
    response_type: code
    scope: openid
    field_mapping:
      username: sub
      email: email
      last_name: family_name
      first_name: given_name
    credential_location: auth_header
    Bien qu'il s'agisse de la configuration par défaut pour le type de fournisseur standard, vous devez prendre contact avec votre fournisseur OIDC pour obtenir les détails des zones que vous devez définir.

Création de votre registre d'utilisateurs OIDC

Pour créer votre registre d'utilisateurs OIDC, utilisez la commande de l'interface CLI suivante :
apic user-registries:create --server mgmt_endpoint_url --org organization_name oidc_config_file
où :
  • mgmt_endpoint_url est l'URL du noeud final de l'API de plateforme.
  • organization_name est la valeur de la propriété name de votre organisation de type fournisseur.
  • oidc_config_file est le nom du fichier YAML qui définit la configuration de votre registre d'utilisateurs OIDC.
A la fin de la création du registre, la commande affiche les détails récapitulatifs suivants :
registry_name registry_url
Par défaut, registry_name est dérivé de la propriété title dans le fichier YAML de configuration, mais vous pouvez le remplacer en incluant une propriété name dans le fichier. Le registry_url est une URL interne que API Connect attribue au registre.
Après avoir créé votre registre d'utilisateurs OIDC, vous devez mettre à jour votre enregistrement d'application auprès du fournisseur OIDC tiers pour inclure l'URI de redirection OIDC ; vous pouvez obtenir ces informations en exécutant la commande suivante, qui permet d'afficher les détails du registre dans la fenêtre de commande :
apic user-registries:get --server mgmt_endpoint_url --org organization_name registry_name --output -
La valeur oidc_redirect_uri requise se trouve dans la section consumer: ; par exemple :
consumer:
  oidc_redirect_uri: https://consumer.mycompany.com/consumer-api/oauth2/redirect

Activation de votre registre OIDC dans un catalogue

Pour que votre registre OIDC soit disponible pour l'intégration et l'authentification des utilisateurs du catalogue des consommateurs, vous devez l'activer dans le catalogue associé à ce catalogue des consommateurs. Procédez comme suit :
  1. Déterminez l'adresse URL de votre registre d'utilisateurs OIDC à l'aide de la commande suivante :
    apic user-registries:list --server mgmt_endpoint_url --org organization_name
  2. Saisissez la commande suivante (le tiret de fin signifie que la commande extrait ses entrées de la ligne de commande) :
    apic configured-catalog-user-registries:create --server mgmt_endpoint_url --org organization_name --catalog catalog_name -
    nom_catalogue est la valeur denamepropriété du catalogue requis. La commande affiche
    Reading CONFIGURED_CATALOG_USER_REGISTRY_FILE arg from stdin
  3. Entrez les données suivantes, puis une nouvelle ligne :
    user_registry_url: oidc_registry_url
    oidc_registry_url est l' URL de votre registre OIDC, obtenue à l'étape 1.
  4. Appuyez sur CTRL D pour interrompre la saisie.

Pour plus de détails sur toutes les apic user-registries commandes apic configured-catalog-user-registries et, consultez la documentation de référence de l'interface CLI de la boîte à outils.

Vous pouvez également effectuer les opérations décrites dans cette rubrique à l'aide des API API Connect REST; consultez la documentation relative API Connect aux API REST.