Procurar Resultados :

×

Registrar Contato

ASP.NET OAuth Single Sign-On (SSO) usando Keycloak como provedor OAuth


O módulo ASP.NET OAuth Single Sign-On (SSO) permite habilitar o OAuth Single Sign-On para seus aplicativos ASP.NET. Com o Single Sign-On, você pode usar apenas uma senha para acessar seus aplicativos e serviços ASP.NET. Nosso módulo é compatível com todos os provedores de identidade compatíveis com OAuth. Aqui, apresentaremos um guia passo a passo para configurar o Single Sign-On (SSO) entre o ASP.NET e o Keycloak como provedor OAuth.

Pré-requisitos: Download e instalação

  • Baixar Módulo miniOrange ASP.NET OAuth 2.0.
  • Para configurar o conector, extraia o asp-net-oauth-sso-module.zip, você encontrará um arquivo DLL miniorange-oauth-sso.dll, um arquivo de configuração oauthsso.config e uma integração.md arquivo que contém as etapas para adicionar o módulo ao seu aplicativo.

1. Adicione o conector em seu aplicativo

  • Adicione miniorange-oauth-sso.dll na pasta bin (onde estão seus outros arquivos DLL) para seu aplicativo.
  • Registrar-se miniorangeoauthsso módulo em sua aplicação de acordo com as etapas fornecidas no integração.md arquivo.
  • Adicione o arquivo de configuração fornecido oauthsso.config no diretório raiz do seu aplicativo.
  • Após a integração, abra o navegador e navegue até o painel do conector com a URL abaixo:
    https:// <your-application-base-url>/?ssoaction=config
  • Se aparecer a página de registro ou de login, você adicionou com sucesso o conector miniOrange oauth sso para seu aplicativo.
  • ASP.NET keycloak OAuth SSO - registre-se com miniorange
  • Registrar ou Entrar para configurar o conector.

2. Configure o Keycloak como provedor OAuth

  • Primeiro de tudo, Baixar Keycloak e instalá-lo.
  • Iniciar servidor: Inicie o servidor keycloak executando o arquivo _standalone.sh_.
  • Diretório raiz do keycloak caixa standalone.sh

  • Adicionar Realm: Agora faça login no console de administração do Keycloak e navegue até o domínio desejado. Você pode adicionar um novo domínio selecionando Adicionar Reino opção.
  • ASP.NET Keycloak OAuth SSO - adicionar domínio
  • Criar reino: Entrar Nome do Reino e mantenha o nome do domínio em mãos, pois será necessário posteriormente para configurar o domínio no plugin ASP.NET OAuth. Clique em CRIAR para adicionar reino.
  • ASP.NET Keycloak OAuth SSO - adicionar domínio
  • Criar cliente OpenID: Clique no Clientes e escolha cria Para criar um novo cliente, insira o ID do cliente e selecione o protocolo do cliente. conexão aberta e selecione Economize.
  • ASP.NET Keycloak OAuth SSO - ID do cliente
  • Alterar tipo de acesso: Após a criação do cliente, altere seu tipo de acesso para confidencial.
  • ASP.NET Keycloak OAuth SSO - alterar tipo de acesso
  • Insira URIs de redirecionamento válidos: exemplar URL de retorno de chamada do plugin e então clique em SALVAR. Ex. -- https:///oauth/retorno de chamada
  • ASP.NET Keycloak OAuth SSO - alterar tipo de acesso
  • Obter segredo do cliente: Agora precisamos obter o segredo do cliente. Então selecione Clientes e selecione credenciais e copie seu segredo daqui.
  • ASP.NET Keycloak OAuth SSO - ID do cliente, segredo do cliente
  • Configuração do plugin: Digite copiado Segredo do cliente para Segredo do cliente campo no plugin ASP.NET OAuth e insira o Nome do Cliente no campo ID do cliente.
  • Adicionar usuário: Precisamos adicionar usuários ao reino que poderão acessar os recursos do reino. Clique em Utilizadores e escolher Adicionar um novo usuário.
  • ASP.NET Keycloak OAuth SSO - adicionar usuário
  • Configuração do usuário: Depois que o usuário for criado, a seguinte ação precisa ser executada nele.
    • 1) Defina uma senha para ele, clique em Credenciais e defina uma nova senha para o usuário.

    ASP.NET Keycloak OAuth SSO - definir senha

    OBSERVAÇÃO: Desabilitar Temporário tornará a senha do usuário permanente.

  • Usuário do mapa: Precisamos mapear o usuário para uma função. Clique em Mapeamentos de funções e atribuir ao usuário a função desejada dentre as funções disponíveis e clicar em adicionar selecionado.
  • ASP.NET Keycloak OAuth SSO - usuário do mapa
  • Criar FUNÇÃO: A função será usada pelos seus aplicativos para definir quais usuários serão autorizados a acessar o aplicativo. Clique no botão Setores e escolha Adicionar Tipo.
  • ASP.NET Keycloak OAuth SSO - adicionar função

    Etapa 2.1: Etapas para buscar grupos Keycloak

    • Criar grupos: Clique no Grupos e escolher New para criar um novo grupo.
    • ASP.NET Keycloak OAuth SSO - criar grupo
    • Atribuir usuário ao grupo: Selecione o usuário que deseja adicionar ao grupo. Escolha a opção "Grupos" na aba, selecione o nome do grupo e clique em juntar.
    • ASP.NET Keycloak OAuth SSO - atribuir grupo
    • Mapeador de Grupo Keycloak: Agora, para obter os detalhes do grupo, precisamos realizar o mapeamento do cliente com a associação ao grupo, caso contrário, os detalhes do grupo não serão obtidos. Então, em Seção do cliente, selecione seu cliente e clique em mapeador->criar.
    • ASP.NET Keycloak OAuth SSO - mapeador de grupo ASP.NET Keycloak OAuth SSO - mapeador de grupo
    • Agora selecione tipo mapeador as Membro do grupo e digite o nome e nome da reivindicação do token ou seja, o nome do atributo correspondente aos grupos que serão buscados. Desative as opções "Caminho completo do grupo", "Adicionar ao token de ID" e "Adicionar ao token de acesso" e clique em Economize.
    • ASP.NET Keycloak OAuth SSO - mapeador de grupo

      Observação: -- Se o caminho completo estiver no grupo, o caminho será obtido, caso contrário, o nome do grupo será obtido.

    Etapa 2.2: Etapas para obter funções do Keycloak

    • Mapeador de funções do Keycloak: Agora, para obter os detalhes da função, precisamos realizar o mapeamento do cliente com a associação à função, caso contrário, os detalhes da função não serão obtidos. Então, em Seção do cliente, selecione seu cliente e clique em mapeador->criar.
    • ASP.NET Keycloak OAuth SSO - mapeador de grupo ASP.NET Keycloak OAuth SSO - mapeador de grupo
    • Agora selecione tipo mapeador as Função do reino do usuário Associação e entrar no nome. e nome da reivindicação do token ou seja, o nome do atributo correspondente aos grupos que serão buscados. Selecione as opções "Adicionar ao token de ID" e "Adicionar ao token de acesso" e clique em Economize.
    • ASP.NET Keycloak OAuth SSO - mapeador de grupo
  • Adicionar Realm: Agora faça login no console de administração do Keycloak e navegue até o domínio desejado. Você pode adicionar um novo domínio selecionando Criar reino opção.
  • ASP.NET Keycloak OAuth SSO - Adicionar domínio
  • Criar reino: Entrar Nome do Reino e mantenha o nome do domínio em mãos, pois será necessário posteriormente para configurar o domínio no plugin OAuth Client. Clique em CRIAR para adicionar reino.
  • ASP.NET Keycloak OAuth SSO - Criar domínio
  • Criar cliente OpenID: Clique no Clientes e escolha Criar cliente Para criar um novo cliente, insira o ID do cliente e selecione o protocolo do cliente. conexão aberta e clique Seguinte.
  • ASP.NET Keycloak OAuth SSO - Criar cliente ASP.NET Keycloak OAuth SSO - Adicionar ID do cliente
  • permitir que o Autenticação de cliente e Autorização alternancia.
  • Desloque-se até o Configurações de acesso e digite seu URL de retorno/redirecionamento que você obterá do seu plugin miniOrange presente no lado do cliente em URLs de retorno de chamada campo de texto.
  • ASP.NET Keycloak OAuth SSO - URL de retorno de chamada
  • Vou ao Credenciais guia, copie o Segredo do cliente e mantenha-o à mão, pois precisaremos dele mais tarde ao configurar o plugin ASP.NET OAuth Single Sign-On.
  • ASP.NET Keycloak OAuth SSO - Copiar segredo do cliente
  • Configuração do plugin: Digite copiado Segredo do cliente para Segredo do cliente campo no plugin ASP.NET OAuth e insira o ID do cliente sob a ID do cliente campo.
  • Adicionar usuário: Precisamos adicionar usuários ao reino que poderão acessar os recursos do reino. Clique em Utilizadores e clique em Criar novo usuário para adicionar um novo usuário.
  • ASP.NET Keycloak OAuth SSO - Adicionar usuário
  • Configuração do usuário: Depois que o usuário for criado, a seguinte ação precisa ser executada nele.
    • 1) Defina uma senha para ele, clique em Credenciais e defina uma nova senha para o usuário.

    ASP.NET Keycloak OAuth SSO - definir senha

    OBSERVAÇÃO: Desabilitar Temporário tornará a senha do usuário permanente.

  • Usuário do mapa: Precisamos mapear o usuário para uma função. Clique em Mapeamentos de funções e atribuir ao usuário a função desejada dentre as funções disponíveis.
  • ASP.NET Keycloak OAuth SSO - usuário do mapa
  • Criar FUNÇÃO: A função será usada pelos seus aplicativos para definir quais usuários serão autorizados a acessar o aplicativo. Clique no botão Setores e escolha Criar papel.
  • ASP.NET Keycloak OAuth SSO - adicionar função

3. Configurar o cliente miniOrange ASP.NET OAuth

  • Depois de configurar seu provedor OAuth, ele fornecerá a você ID do cliente, segredo do cliente, endpoint de autorização, endpoint de token de acesso e Obter ponto final de informações do usuário. Configure esses valores nos respectivos campos.
  • Preencha todos os detalhes necessários e clique em Salvar configuração.
  • ASP.NET keycloak OAuth SSO - Configuração Oauth

4. Configuração de teste

  • Após salvar a configuração, clique em Configuração de Teste botão para verificar se você configurou corretamente.
  • Com a configuração bem-sucedida, você obterá Nome dos atributos e Valores de Atributo na janela Configuração de Teste. A captura de tela abaixo mostra um resultado bem-sucedido.
  • ASP.NET keycloak OAuth SSO - configuração de teste

5. Mapeamento de Atributos

  • Nomes de atributos do mapa fornecidos pelo seu servidor OAuth com os atributos do seu aplicativo ASP.NET fornecidos na seção Mapeamento de atributos e clique em Salvar mapeamento de atributos.
  • ASP.NET keycloak OAuth SSO - mapeamento de atributos
  • Observação: Todos os atributos mapeados serão armazenados na sessão para que você possa acessá-los em seu aplicativo.

6. Código de Integração

  • Você pode encontrar o código de integração na aba Código de Integração do conector. Basta copiar e colar esse trecho de código onde quiser para acessar os atributos do usuário.
  • ASP.NET keycloak OAuth SSO - código de integração

7. Adicione o seguinte link em seu aplicativo para Single Sign-On (SSO)

  • Use a seguinte URL como um link no seu aplicativo de onde você deseja executar o SSO:
    http://base-url/?ssoaction=login
  • Por exemplo, você pode usá-lo como:
    <a href="http://base-url/?ssoaction=login”>Log in</a>"

    Você pode configurar o módulo ASP.NET SAML 2.0 Single Sign-On (SSO) com qualquer provedor de identidade, como ADFS, Azure AD, Bitium, Centrify, G Suite, JBoss Keycloak, Okta, OneLogin, Salesforce, AWS Cognito, OpenAM, Oracle, PingFederate, PingOne, RSA SecureID, Shibboleth-2, Shibboleth-3, SimpleSAML, WSO2 ou até mesmo com seu próprio provedor de identidade personalizado.

Aplicação LINK
SSO SAML no site DotNetNuke (DNN) Acesse aqui
SSO SAML no site SiteFinity Acesse aqui
SSO SAML no site Umbraco Acesse aqui
Olá!

Preciso de ajuda? Estamos bem aqui!

ajuda