Note :

Intégrer Oracle APEX aux domaines d'identité d'Oracle Cloud Infrastructure Identity and Access Management

Présentation

Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) fournit des fonctions de gestion des identités et des accès telles que l'authentification, l'authentification unique et la gestion du cycle de vie des identités pour Oracle Cloud Infrastructure ainsi que pour les applications Oracle et non Oracle, que ce soit SaaS, hébergé dans le nuage ou sur place.

Objectif

Préalables

Tâche 1 : Installer un exemple d'application dans Oracle APEX

  1. Connectez-vous à votre espace de travail APEX pour créer un exemple d'application pour laquelle nous utiliserons OCI IAM comme IdP pour l'authentification unique. Pour créer une application sur Oracle APEX, cliquez sur Générateur d'applications.

  2. Cliquez sur Créer une application.

    Image 1

  3. Sélectionnez À partir d'un fichier.

    Image 2

  4. Cliquez sur Copier et coller et sélectionnez Ventes comme illustré dans les images suivantes.

    Image 3

    Image 4

Tâche 2 : Enregistrer une application confidentielle dans OCI IAM

Nous enregistrerons une application confidentielle dans le domaine IAM OCI. Pour ce tutoriel, nous avons utilisé le domaine par défaut.

  1. Connectez-vous à la console OCI et naviguez jusqu'à Identité et sécurité. Sous Identité, cliquez sur Domaines et sur Applications.

    Image 4

  2. Sélectionnez Application confidentielle et cliquez sur Lancer le flux de travail.

    Image 5

  3. Entrez un nom pour votre application et cliquez sur Suivant.

    Image 6

  4. Sélectionnez le code d'autorisation comme type d'autorisation autorisé et cliquez sur Suivant.

    Image 7

  5. Entrez l'URL de redirection dans le format suivant : https://guid-demodb.adb.region.oraclecloudapps.com/ords/apex_authentication.callback. Par exemple, https://guid-demodb.adb.us-ashburn-1.oraclecloudapps.com/ords/apex_authentication.callback.

  6. Entrez l'URL de redirection après déconnexion dans le format suivant : https://guid-demodb.adb.region.oraclecloudapps.com/ords/f?p=your_apex_number_here.

  7. Laissez le champ URL de déconnexion vide.

    Note : Notez que cette URL doit correspondre exactement lorsqu'elle est ajoutée ultérieurement dans l'URL de post-déconnexion du modèle d'authentification Oracle APEX.

    Image 31

  8. Cliquez sur Terminer.

    Image 8

  9. Cliquez sur Modifier l'application et sélectionnez Appliquer l'autorisation en tant qu'autorisation sous Authentification et autorisation (Cette option sera utilisée plus tard pour contrôler l'accès à l'application Oracle APEX).

    Image 10

  10. Cliquez sur Activer l'application.

    Image 9

  11. Copiez l'ID client et la clé secrète client que nous utiliserons dans la configuration côté Oracle APEX.

    Image 11

Tâche 3 : Créer des données d'identification Web dans votre espace de travail Oracle APEX

  1. Ouvrez l'espace de travail Oracle APEX. Dans l'application créée au cours de la tâche 1, cliquez sur Objets partagés.

    Image 12

  2. Cliquez sur Données d'identification.

    Image 13

  3. Cliquez sur Créer.

    Image 14

  4. Entrez les informations suivantes et cliquez sur Créer.

    Note : Utilisez l'ID client et la clé secrète client de l'application confidentielle de la tâche 2.

    Image 15

  5. Affecter un utilisateur à cette application.

    Image 22

Tâche 4 : Créer un nouveau modèle d'authentification dans Oracle APEX pour l'exemple d'application

  1. Ouvrez l'espace de travail Oracle APEX et cliquez sur Objets partagés. Sous Sécurité, cliquez sur Schémas d'authentification et sur Créer.

    Image 16

    Image 17

  2. Sélectionnez Selon un schéma préconfiguré dans la galerie et cliquez sur Suivant.

    Image 18

  3. Entrez les informations suivantes et cliquez sur Créer. L'URL de détection sera https://[idcs-service-url]/.well-known/openid-configuration/.

    Image 19

  4. Cliquez sur le Schéma d'authentification - Courant Oracle Identity Cloud Service (IDCS) créé.

  5. Cliquez sur l'onglet URL après déconnexion, sélectionnez Aller à et URL. Dans l'URL, collez l'URL de l'application Oracle APEX à partir de la tâche 2.6. Cette URL doit correspondre à l'URL de réacheminement après déconnexion IDCS.

    Image 30

  6. Sous Attributs de sécurité, mettez à jour les informations et cliquez sur Appliquer les modifications.

    Image 27

    Image 28

  7. (Facultatif) Dans la section Source, entrez le code PL/SQL suivant.

    Note : Cela n'est requis que si vous voulez contrôler l'autorisation, dans les cas où nous voulons modifier les fonctions ou le comportement d'une application en fonction des groupes auxquels un utilisateur appartient. Pour plus d'informations, voir la section Contrôle de l'autorisation à la fin de ce tutoriel.

    procedure load_dynamic_groups as
      l_group_names apex_t_varchar2;
    begin
      --
      -- add all group names to l_group_names
      --
      for i in 1 .. apex_json.get_count('groups') loop
          apex_string.push (
            p_table => l_group_names,
            p_value => apex_json.get_varchar2 (
                           p_path => 'groups[%d].name',
                           p0     => i ));
      end loop;
      --
      -- save group names in session
      --
      apex_authorization.enable_dynamic_groups (
          p_group_names => l_group_names );
    end;
    
    

    Image 20

  8. (Facultatif utilisé pour l'étape 7) Sous Traitement de connexion, entrez les informations suivantes et enregistrez.

    Image 29

Tâche 5 : Tester la connexion à l'application Oracle APEX

  1. Cliquez sur Exécuter la page.

    Image 23

  2. Entrez les données d'identification dans l'écran de connexion invité. Pour ce tutoriel, le compte utilisé pour l'authentification est synchronisé à partir du répertoire actif local et le mot de passe réside dans le répertoire actif. OCI IAM collectera le nom d'utilisateur et le mot de passe et les validera par rapport au répertoire actif.

    Image 24

  3. Cliquez sur Allow.

    Image 25

La page de renvoi de l'application s'affiche.

Image 26

Contrôle de l'autorisation

Vous pouvez contrôler l'autorisation en activant Appliquer l'octroi en tant qu'autorisation sur l'application confidentielle configurée pour l'authentification unique, ce qui permet uniquement aux utilisateurs ou aux groupes affectés à cette application d'accéder à l'application Oracle APEX. Cela est indiqué dans la tâche 2.9.

L'autre façon de contrôler l'autorisation consiste à utiliser une procédure PL/SQL dans le modèle d'authentification, comme indiqué dans les tâches 4.7 et 4.8. Une fois l'authentification réussie, userinfo_endpoint sera appelé et les résultats seront mis à la disposition de la procédure post-authentification. Les résultats JSON sont convertis en liste de groupes et stockés dans une session Oracle APEX intégrée pour la gestion des groupes, qui peut ensuite être liée au modèle d'autorisation sous des composants partagés pour permettre l'accès à l'application en fonction de l'appartenance aux groupes des utilisateurs.

Remerciements

Autres ressources d'apprentissage

Explorez d'autres laboratoires sur docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal YouTube d'Oracle Learning. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.