Observação:

Integrar o Oracle APEX aos Domínios de Identidade do Oracle Cloud Infrastructure Identity and Access Management

Introdução

O Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) fornece recursos de gerenciamento de identidade e acesso, como autenticação, sign-on único (SSO) e gerenciamento do ciclo de vida de identidade para o Oracle Cloud Infrastructure, bem como aplicativos Oracle e não Oracle, sejam SaaS, hospedados na nuvem ou on-premises.

Objetivo

Pré-requisitos

Tarefa 1: Instalar um Aplicativo de Amostra no Oracle APEX

  1. Faça log-in no espaço de trabalho do APEX para criar um aplicativo de amostra para o qual usaremos o OCI IAM como IdP para SSO. Para criar um aplicativo no Oracle APEX, clique em App Builder.

  2. Clique em Criar Aplicativo.

    Imagem 1

  3. Selecione De um Arquivo.

    Imagem 2

  4. Clique em Copiar e Colar e selecione Vendas, conforme mostrado nas imagens a seguir.

    Imagem 3

    Imagem 4

Tarefa 2: Registrar um Aplicativo Confidencial no OCI IAM

Registraremos um aplicativo confidencial no domínio do OCI IAM. Para este tutorial, usamos o domínio padrão.

  1. Faça log-in na Console do OCI e navegue até Identidade e Segurança. Em Identidade, clique em Domínios e Aplicativos.

    Foto 4

  2. Selecione Aplicativo Confidencial e clique em Iniciar workflow.

    Foto 5

  3. Informe um Nome para o seu aplicativo e clique em Próximo.

    Foto 6

  4. Selecione Código de autorização como o Tipo de Concessão Permitida e clique em Próximo.

    Foto 7

  5. Digite o URL de Redirecionamento neste formato: https://guid-demodb.adb.region.oraclecloudapps.com/ords/apex_authentication.callback. Por exemplo, https://guid-demodb.adb.us-ashburn-1.oraclecloudapps.com/ords/apex_authentication.callback.

  6. Digite o URL de redirecionamento após log-out neste formato: https://guid-demodb.adb.region.oraclecloudapps.com/ords/f?p=your_apex_number_here.

  7. Deixe o URL de Log-out em branco.

    Observação: anote este URL; ele deve corresponder exatamente quando adicionado posteriormente no URL pós-log-out do esquema de autenticação do Oracle APEX.

    Foto 31

  8. Clique em Finalizar.

    Foto 8

  9. Clique em Editar aplicativo e selecione Impor concessão como Autorização em Autenticação e Autorização (Isso será usado posteriormente para controlar o acesso ao aplicativo Oracle APEX).

    Foto 10

  10. Clique em Ativar Aplicativo.

    Foto 9

  11. Copie o ID do Cliente e o Segredo do cliente que usaremos na configuração no Oracle APEX.

    Foto 11

Tarefa 3: Criar uma nova Credencial da Web no Espaço de Trabalho do Oracle APEX

  1. Abra o espaço de trabalho do Oracle APEX. No aplicativo criado na Tarefa 1, clique em Objetos Compartilhados.

    Foto 12

  2. Clique em Credenciais.

    Foto 13

  3. Clique em Criar.

    Foto 14

  4. Especifique as seguintes informações e clique em Criar.

    Observação: Use o ID do Cliente e o Segredo do Cliente do aplicativo confidencial na Tarefa 2.

    Foto 15

  5. Atribua um usuário a este aplicativo.

    Foto 22

Tarefa 4: Criar um novo Esquema de Autenticação no Oracle APEX para o Aplicativo de Amostra

  1. Abra o espaço de trabalho do Oracle APEX e clique em Objetos Compartilhados. Em Segurança, clique em Esquemas de Autenticação e Criar.

    Foto 16

    Foto 17

  2. Selecione Com base em um esquema pré-configurado da galeria e clique em Próximo.

    Foto 18

  3. Especifique as seguintes informações e clique em Criar. O URL da Descoberta será https://[idcs-service-url]/.well-known/openid-configuration/.

    Foto 19

  4. Clique no Esquema de Autenticação - Atual do Oracle Identity Cloud Service (IDCS) criado.

  5. Clique na guia URL Pós-Log-out, selecione Ir para e URL. No URL, cole o URL do aplicativo Oracle APEX na Tarefa 2.6. Este URL deve corresponder ao URL de pós-log-out do IDCS.

    Foto 30

  6. Em Atributos de Segurança, atualize as informações e clique em Aplicar Alterações.

    Foto 27

    Foto 28

  7. (Opcional) Na seção Origem, informe o código PL/SQL a seguir.

    Observação: isso só será necessário se você quiser controlar a autorização, nos casos em que quisermos alterar os recursos ou o comportamento de um aplicativo com base nos grupos aos quais um usuário pertence. Para obter mais informações, consulte a seção Controlando Autorização no final deste tutorial.

    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;
    
    

    Foto 20

  8. (Opcional usado para a etapa 7) Em Processamento de Log-in, digite as informações a seguir e salve.

    Foto 29

Tarefa 5: Testar o Login no Aplicativo Oracle APEX

  1. Clique em Executar Página.

    Foto 23

  2. Informe as credenciais na tela de log-in solicitada. Para este tutorial, a conta usada para autenticação é sincronizada do diretório ativo local e a senha reside no diretório ativo. O OCI IAM coletará o nome de usuário e a senha e os validará no diretório ativo.

    Foto 24

  3. Clique em Permitir.

    Foto 25

A página de entrada do aplicativo é exibida.

Foto 26

Controlando Autorização

Você pode controlar a autorização ativando Impor Concessão como Autorização no aplicativo confidencial configurado para SSO, o que só permitirá que usuários ou grupos designados a esse aplicativo possam acessar o aplicativo Oracle APEX. Isso é mostrado na Tarefa 2.9.

A outra maneira de controlar a autorização é usar um procedimento PL/SQL dentro do esquema de autenticação, conforme mostrado nas Tarefas 4.7 e 4.8. Após a autenticação bem-sucedida, o userinfo_endpoint será chamado e os resultados serão disponibilizados para o procedimento de pós-autenticação. Os resultados JSON são convertidos em lista de grupos e armazenados em uma sessão incorporada do Oracle APEX para gerenciamento de grupo, que pode ser posteriormente vinculada ao esquema de autorização em componentes compartilhados para fornecer acesso ao aplicativo com base na associação de grupo dos usuários.

Confirmação

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.