É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 à première vue, un moyen simple d'obtenir un jeton d'accès ou un jeton d'identification à partir de IBM Verify est d'utiliser le type de subvention OAuth 2.0 Resource Owner Password Credentials(ROPC).
Pour vous aider, nous avons fourni un exemple d'application en ligne de commande.
Dans ce guide, vous apprendrez à configurer l'application modèle.
Prérequis
Vous devez avoir enregistré une application à l'aide du portail des développeurs dans votre locataire IBM Verify. Pour plus d'informations, consultez la section Utilisation du portail des développeurs. Lors de l'enregistrement, choisissez l'option " Resource owner password credentials" (ROPC) comme type de subvention.
Vous devez avoir installé node.js sur le système où vous exécuterez l'exemple d'application. Télécharger node.js.
Télécharger l'exemple d'application
-
Accédez au portail des développeurs de votre locataire IBM Verify. En général, il s'agit d'une tuile dans le launchpad de l'utilisateur final.
-
Sur la page Mes applications, sélectionnez votre application et cliquez sur le lien Configuration de l'application qui apparaît en haut de la barre latérale des détails.
-
Sélectionnez la tuile node.js.
-
Sélectionnez le bouton Télécharger l'application. Cette opération permet de télécharger un fichier ZIP contenant l'exemple d'application.

Télécharger un exemple d'application
- Extrayez le fichier ZIP à l'endroit où vous exécuterez l'exemple d'application.
- Copiez l'extrait généré à partir de l'interface utilisateur du portail des développeurs.
- Créez un fichier .env à la racine de votre projet, collez l'extrait fourni et cliquez sur save.
Installer les modules
Dans le répertoire créé lors de l'extraction du fichier ZIP, exécutez la commande suivante pour installer les modules node nécessaires à l'application modèle :
npm install
added 9 packages, and audited 10 packages in 2s
found 0 vulnerabilities
Exécuter l'exemple d'application et tester
Dans le répertoire créé lors de l'extraction du fichier ZIP, exécutez la commande suivante pour lancer l'exemple d'application :
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 constater que l'application est en cours d'exécution et qu'elle a demandé l'authentification.
Entrez un nom d'utilisateur et un mot de passe
Entrez le nom d'utilisateur et le mot de passe d'un utilisateur qui existe dans votre locataire IBM Verify:
username: alice
password: **********
L'utilisateur est authentifié par rapport à votre locataire IBM Verify. Si l'authentification échoue, le message suivant s'affiche :
Authenticating...
Error occured while authenticating { error_description: 'CSIAQ0264E The user name or password is invalid.',
error: 'invalid_grant' }
Si l'authentification est réussie, vous verrez des informations sur l'utilisateur authentifié. Ces informations sont récupérées en appelant le point final UserInfo l'OIDC à l'aide du jeton d'accès récupéré par le flux de type de subvention de la 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 entre votre locataire IBM Verify et l'application sont contrôlés par les scopes OpenID Connect demandés et par la configuration du Developer Portal (qui est définie par l'administrateur de votre locataire).
Si vous souhaitez recevoir des informations supplémentaires, essayez d'ajouter des champs d'application supplémentaires au fichier .env de l'exemple d'application :
SCOPE=openid profile email phone
Updated about 1 month ago
