Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever em uma conta gratuita, consulte Conceitos básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
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
- Configure o SSO em aplicativos Oracle APEX usando domínios de identidades do OCI IAM como um Provedor de Identidades (IdP), que fornece controles de segurança como Autenticação Multifator (MFA), Segurança Adaptável, Relatórios etc.
Pré-requisitos
-
Acesso do administrador do OCI IAM de qualquer domínio de identidades para configuração do aplicativo de parceiro.
-
Oracle APEX 18.1 e superior com um aplicativo para configuração de autenticação.
Tarefa 1: Instalar um Aplicativo de Amostra no Oracle APEX
-
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.
-
Clique em Criar Aplicativo.
-
Selecione De um Arquivo.
-
Clique em Copiar e Colar e selecione Vendas, conforme mostrado nas imagens a seguir.
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.
-
Faça log-in na Console do OCI e navegue até Identidade e Segurança. Em Identidade, clique em Domínios e Aplicativos.
-
Selecione Aplicativo Confidencial e clique em Iniciar workflow.
-
Informe um Nome para o seu aplicativo e clique em Próximo.
-
Selecione Código de autorização como o Tipo de Concessão Permitida e clique em Próximo.
-
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
. -
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
. -
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.
-
Clique em Finalizar.
-
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).
-
Clique em Ativar Aplicativo.
-
Copie o ID do Cliente e o Segredo do cliente que usaremos na configuração no Oracle APEX.
Tarefa 3: Criar uma nova Credencial da Web no Espaço de Trabalho do Oracle APEX
-
Abra o espaço de trabalho do Oracle APEX. No aplicativo criado na Tarefa 1, clique em Objetos Compartilhados.
-
Clique em Credenciais.
-
Clique em Criar.
-
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.
-
Atribua um usuário a este aplicativo.
Tarefa 4: Criar um novo Esquema de Autenticação no Oracle APEX para o Aplicativo de Amostra
-
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.
-
Selecione Com base em um esquema pré-configurado da galeria e clique em Próximo.
-
Especifique as seguintes informações e clique em Criar. O URL da Descoberta será
https://[idcs-service-url]/.well-known/openid-configuration/
. -
Clique no Esquema de Autenticação - Atual do Oracle Identity Cloud Service (IDCS) criado.
-
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.
-
Em Atributos de Segurança, atualize as informações e clique em Aplicar Alterações.
-
(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;
-
(Opcional usado para a etapa 7) Em Processamento de Log-in, digite as informações a seguir e salve.
Tarefa 5: Testar o Login no Aplicativo Oracle APEX
-
Clique em Executar Página.
-
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.
-
Clique em Permitir.
A página de entrada do aplicativo é exibida.
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.
Links Relacionados
Confirmação
- Autor - Aqib Javid Bhat (Engenheiro Sênior de Nuvem)
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.
Integrate Oracle APEX with Oracle Cloud Infrastructure Identity and Access Management Identity Domains
F78524-02
May 2024