Échantillon ROPC
Introduction
Si vous créez une application non-web qui utilisera un nom d'utilisateur et un mot de passe pour l'authentification de premier facteur, un moyen simple d'obtenir un jeton d'accès ou un jeton d'identité depuis IBM Security Verify est d'utiliser le type d'octroi OAuth 2.0 Resource Owner Password Credentials (ROPC).
Pour vous aider avec cela, nous avons fourni un exemple d'application en ligne de commande pour démontrer.
Dans ce guide, vous apprendrez comment configurer l'exemple d'application.
Prérequis
Vous devez avoir enregistré une application en utilisant le portail développeur dans votre locataire IBM Security Verify. Voir Utilisation du portail développeur pour les détails. Lors de l'enregistrement, choisissez Resource owner password credentials (ROPC) comme type d'octroi.
Vous devez avoir node.js installé sur le système où vous exécuterez l'application exemple. Téléchargez node.js.
Télécharger l'application exemple
-
Accédez au portail développeur de votre locataire IBM Security Verify. Habituellement, vous le trouverez comme une tuile dans le launchpad d'utilisateur final.
-
Depuis la page Mes applications, sélectionnez votre application puis cliquez sur le lien Configuration de l'application qui apparaît en haut de la barre latérale de détails.
-
Sélectionnez la tuile node.js.
-
Sélectionnez le bouton Télécharger l'application. Cela téléchargera un fichier ZIP contenant l'application exemple.

Télécharger l'application exemple
- Extrayez le fichier ZIP vers l'emplacement où vous exécuterez l'application exemple.
- Copiez l'extrait généré depuis l'interface du portail développeur.
- Créez un fichier .env à la racine de votre projet, collez l'extrait fourni et cliquez sur enregistrer.
Installer les modules
Dans le répertoire qui a été créé lorsque vous avez extrait le fichier ZIP, exécutez la commande suivante pour installer les modules node requis par l'application exemple :
npm install
added 9 packages, and audited 10 packages in 2s
found 0 vulnerabilities
Exécuter l'application exemple et tester
Dans le répertoire qui a été créé lorsque vous avez extrait le fichier ZIP, exécutez la commande suivante pour démarrer l'application exemple :
npm start
> [email protected] start
> node server.js
=========================================
Dev portal sample app for Resource Owner
Password Credentials (ROPC) grant type.
Tenant: https://...verify.ibm.com
client ID: 29bc0bd2-e260-4e94-8f3d-f352ba3bf5ae
username:
Vous pouvez voir que l'application s'exécute et a demandé l'authentification.
Saisir nom d'utilisateur et mot de passe
Saisissez le nom d'utilisateur et le mot de passe d'un utilisateur qui existe dans votre locataire IBM Security Verify :
username: alice
password: **********
L'utilisateur est authentifié contre votre locataire IBM Security Verify. Si l'authentification échoue, vous verrez le message suivant :
Authenticating...
Error occured while authenticating { error_description: 'CSIAQ0264E The user name or password is invalid.',
error: 'invalid_grant' }
Si l'authentification réussit, vous verrez des informations sur l'utilisateur authentifié. Ces informations sont récupérées en appelant le point de terminaison OIDC UserInfo en utilisant le jeton d'accès récupéré en utilisant le flux de type d'octroi ROPC :
Authenticating...
Successfully retrieved user information
┌────────────────────┬────────────────────────┐
│ (index) │ Values │
├────────────────────┼────────────────────────┤
│ sub │ '50488EHGGY' │
│ realmName │ 'cloudIdentityRealm' │
│ displayName │ 'Alice Developer' │
│ uniqueSecurityName │ '50488EHGGY' │
│ name │ 'Alice Developer' │
│ preferred_username │ 'alice' │
│ userType │ 'regular' │
└────────────────────┴────────────────────────┘
=========================================
Attributs disponibles
Les attributs qui sont partagés depuis votre locataire IBM Security Verify vers l'application sont contrôlés par les scopes OpenID Connect demandés et par la configuration du portail développeur (qui est définie par votre administrateur de locataire).
Si vous voulez recevoir des informations supplémentaires, essayez d'ajouter des scopes supplémentaires au fichier .env
de l'application exemple :
SCOPE=openid profile email phone
Updated 21 days ago