Procurar Resultados :

×

Guia para configurar o SSO SAML do ASP.NET Core usando o Azure B2C como provedor de identidade (IdP).

Middleware de logon único (SSO) SAML do ASP.NET Core dá a capacidade de habilitar Logon único SAML para seus aplicativos ASP.NET Core. Usando o Single Sign-On, você pode usar apenas uma senha para acessar seu Aplicação principal ASP.NET e serviços. Nosso middleware é compatível com todos os Provedores de identidade compatíveis com SAML. Aqui, veremos um guia passo a passo para configurar o Single Sign-On (SSO) entre ASP.NET Core e AzureB2C considerando AzureB2C como IdP.

Suporte de plataforma: O middleware SAML do ASP.NET Core é compatível com o ASP.NET Core 2.0 e versões superiores. Ele suporta todas as plataformas ASP.NET Core, incluindo Windows, Linux e macOS.


Pacote NuGet
CLI .NET

PM> NuGet\Install-Package miniOrange.SAML.SSO


Observação: Para integrar o middleware miniOrange ASP.NET SAML SSO em seu aplicativo, você precisará adicionar os namespaces, serviços e middleware abaixo em seu projeto. Abaixo está um exemplo de implementação para referência.
Inclua apenas a seção destacada abaixo no Programa.cs arquivo de seu aplicativo.

  using miniOrange.saml;
  using System.Reflection
  var builder=WebApplication.CreateBuilder(args);

  // Add services to the container.
  builder.Services.AddRazorPages();
  builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());

  var app = builder.Build();
        if(!app.Environment.IsDevelopment())
  {
    app.UseExceptionHandler("/Error");
    app.UseHsts();
  }

  app.UseHttpsRedirection();
  app.UseRouting();
  app.UseAuthorization();
  app.MapRazorPages();

  app.UseCookiePolicy();
  app.UseAuthentication();

  #if NET9_0_OR_GREATER
  app.MapStaticAssets();
  #else
  app.UseStaticFiles();
  #endif

  app.UseminiOrangeSAMLSSOMiddleware();
  app.Run();
Pacote NuGet
CLI .NET

PM> NuGet\Install-Package miniOrange.SAML.SSO


Observação: Para integrar o middleware miniOrange ASP.NET SAML SSO em sua aplicação, você precisará adicionar os namespaces, serviços e middlewares abaixo ao seu projeto. Veja um exemplo a seguir.
Inclua apenas a seção destacada abaixo no Programa.cs arquivo de seu aplicativo.

  using miniOrange.saml;
  using System.Reflection;

  public class Startup
  {

    public Startup(IConfiguration configuration)
    {
      Configuration = configuration;
    }
    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
      services.AddRazorPages();
      services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
      if (env.IsDevelopment())
      {
        app.UseDeveloperExceptionPage();
      }
      else
      {
        app.UseExceptionHandler("/Error");
        // The default HSTS value is 30 days. You may want to change this for production scenarios, see         https://aka.ms/aspnetcore-hsts.
        app.UseHsts();
      }

      app.UseHttpsRedirection();

      app.UseCookiePolicy();
      app.UseAuthentication();

      #if NET9_0_OR_GREATER
      app.MapStaticAssets();
      #else
      app.UseStaticFiles();
      #endif

      app.UseminiOrangeSAMLSSOMiddleware();

      app.UseRouting();
      app.UseAuthorization();
      app.UseEndpoints(endpoints =>
      {
        endpoints.MapRazorPages();
      });
    }
  }
  • Entre para http://portal.miniorange.com/ e navegue para o Downloads guia. A partir daí, localize o plugin que você comprou e clique em Baixe Plugin Para baixar o arquivo zip do plugin.
Download do Plugin Empresarial do Middleware SSO para ASP.NET

  • Extraia o arquivo zip baixado em seu computador e coloque o pacote NuGet (arquivo .nupkg) em uma pasta como "C:\miniOrangePackages".
  • Execute o seguinte comando no terminal do Visual Studio para adicioná-lo como uma fonte de pacote:
dotnet nuget add source C:\miniOrangePackages--name miniOrangePackage
  • Abra seu projeto no terminal:
cd C:\Path\To\YourProject
  • Instale o pacote em seu projeto usando o comando abaixo:
dotnet add package miniOrange.SAML.SSO --source miniOrangePackage

OR

  • Após colocar o pacote NuGet (arquivo .nupkg) em uma pasta local, em vez de usar o terminal, você também pode instalá-lo usando o Visual Studio seguindo os passos abaixo:
  • Abra seu aplicativo .NET no Visual Studio e clique em Ferramentas na barra de navegação superior e navegue até Gerenciador de Pacotes NuGet → Gerenciar Pacotes NuGet para a Solução.
Gerenciador de Pacotes NuGet

  • Uma nova janela será aberta; clique em ícone de engrenagem Ao lado do menu suspenso Origem do pacote.
Ícone de engrenagem

  • Uma janela pop-up será aberta; selecione Fontes de Pacotes No painel de navegação à esquerda, clique no sinal de mais (+). (+) ícone, insira um nome Para a origem do pacote, forneça o caminho da pasta onde você colocou o pacote NuGet. fonte campo e clique em Atualizar e, finalmente, clique em OK Para salvar as alterações, conforme mostrado na imagem.
Janela de Fontes de Pacotes

  • Após fechar a janela pop-up, selecione a fonte do pacote recém-adicionada na lista. Fonte do pacote suspenso.
Menu suspenso Origem do pacote

  • Agora, clique no botão Explorar guia, pesquise por miniOrange.SAML.SSOSelecione o pacote nos resultados e clique em Instalar.
miniOrange.SAML.SSO

  • Observação: Para integrar o middleware miniOrange ASP.NET SAML SSO em seu aplicativo, você precisará adicionar os namespaces, serviços e middleware abaixo em seu projeto. Abaixo está um exemplo de implementação para referência.
    Inclua apenas a seção destacada abaixo no Programa.cs arquivo de seu aplicativo.
  using miniOrange.saml;
  using System.Reflection
  var builder=WebApplication.CreateBuilder(args);

  // Add services to the container.
  builder.Services.AddRazorPages();
  builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());

  var app = builder.Build();
        if(!app.Environment.IsDevelopment())
  {
    app.UseExceptionHandler("/Error");
    app.UseHsts();
  }

  app.UseHttpsRedirection();
  app.UseRouting();
  app.UseAuthorization();
  app.MapRazorPages();

  app.UseCookiePolicy();
  app.UseAuthentication();

  #if NET9_0_OR_GREATER
  app.MapStaticAssets();
  #else
  app.UseStaticFiles();
  #endif

  app.UseminiOrangeSAMLSSOMiddleware();
  app.Run();
  • Entre para http://portal.miniorange.com/ e navegue para o Downloads guia. A partir daí, localize o plugin que você comprou e clique em Baixe Plugin Para baixar o arquivo zip do plugin.
Download do Plugin Empresarial do Middleware SSO para ASP.NET

  • Extraia o arquivo zip baixado em seu computador e coloque o pacote NuGet (arquivo .nupkg) em uma pasta como "C:\miniOrangePackages".
  • Execute o seguinte comando no terminal do Visual Studio para adicioná-lo como uma fonte de pacote:
dotnet nuget add source C:\miniOrangePackages--name miniOrangePackage
  • Abra seu projeto no terminal:
cd C:\Path\To\YourProject
  • Instale o pacote em seu projeto usando o comando abaixo:
dotnet add package miniOrange.SAML.SSO --source miniOrangePackage

OR

  • Após colocar o pacote NuGet (arquivo .nupkg) em uma pasta local, em vez de usar o terminal, você também pode instalá-lo usando o Visual Studio seguindo os passos abaixo:
  • Abra seu aplicativo .NET no Visual Studio e clique em Ferramentas na barra de navegação superior e navegue até Gerenciador de Pacotes NuGet → Gerenciar Pacotes NuGet para a Solução.
Gerenciador de Pacotes NuGet

  • Uma nova janela será aberta; clique em ícone de engrenagem Ao lado do menu suspenso Origem do pacote.
Ícone de engrenagem

  • Uma janela pop-up será aberta; selecione Fontes de Pacotes No painel de navegação à esquerda, clique no sinal de mais (+). (+) ícone, insira um nome Para a origem do pacote, forneça o caminho da pasta onde você colocou o pacote NuGet. fonte campo e clique em Atualizar e, finalmente, clique em OK Para salvar as alterações, conforme mostrado na imagem.
Janela de Fontes de Pacotes

  • Após fechar a janela pop-up, selecione a fonte do pacote recém-adicionada na lista. Fonte do pacote suspenso.
Menu suspenso Origem do pacote

  • Agora, clique no botão Explorar guia, pesquise por miniOrange.SAML.SSOSelecione o pacote nos resultados e clique em Instalar.
miniOrange.SAML.SSO

  • Observação: Para integrar o middleware miniOrange ASP.NET SAML SSO em seu aplicativo, você precisará adicionar os namespaces, serviços e middleware abaixo em seu projeto. Abaixo está um exemplo de implementação para referência.
    Inclua apenas a seção destacada abaixo no Programa.cs arquivo de seu aplicativo.
  using miniOrange.saml;
  using System.Reflection;

  public class Startup
  {

    public Startup(IConfiguration configuration)
    {
      Configuration = configuration;
    }
    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
      services.AddRazorPages();
      services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
      if (env.IsDevelopment())
      {
        app.UseDeveloperExceptionPage();
      }
      else
      {
        app.UseExceptionHandler("/Error");
        // The default HSTS value is 30 days. You may want to change this for production scenarios, see         https://aka.ms/aspnetcore-hsts.
        app.UseHsts();
      }

      app.UseHttpsRedirection();

      app.UseCookiePolicy();
      app.UseAuthentication();

      #if NET9_0_OR_GREATER
      app.MapStaticAssets();
      #else
      app.UseStaticFiles();
      #endif

      app.UseminiOrangeSAMLSSOMiddleware();

      app.UseRouting();
      app.UseAuthorization();
      app.UseEndpoints(endpoints =>
      {
        endpoints.MapRazorPages();
      });
    }
  }

Guia passo a passo para SSO SAML em ASP.NET Core usando o Azure B2C como provedor de identidade.

  • Após a integração, abra seu navegador e navegue até o painel do conector com o URL abaixo:
 http(s)<your-dotnet-application-base-url>?ssoaction=config
  • Se a página de registro ou de login aparecer, você adicionou com sucesso o middleware miniOrange SAML SSO ao seu aplicativo.
ASP.NET Core - página de registro

  • Registre-se ou faça login com sua conta clicando em Registrar-se botão para configurar o middleware.
  • Após o registro bem-sucedido, você receberá uma chave de licença de teste no seu endereço de e-mail registrado.
  • Para ativar o middleware, você pode:
    • Introduzir o chave de licença recebido por e-mail no campo de entrada fornecido.

    OR

    • Carregue o arquivo de licença que você baixou clicando em Clique aqui botão.
Licença de teste de verificação do ASP.NET Middleware

  • Em seguida, marque a caixa “Li as condições acima e desejo ativar o middleware” e clique no botão Ativar licença botão.
Licença de ativação do ASP.NET Middleware
  • Após a integração, abra seu navegador e navegue até o painel do conector com o URL abaixo:
 http(s)<your-dotnet-application-base-url>?ssoaction=config
  • Se a página de login aparecer, significa que você adicionou com sucesso o middleware miniOrange SAML SSO à sua aplicação.
Página de login do ASP.NET Core

  • Faça login com sua conta miniOrange licenciada para configurar o middleware.
  • Após o login, o Configuração da Conta O painel de controle será aberto. Insira a chave de licença para ativar o plugin, que você receberá após fazer login. portal.miniorange.com e navegando para Gerenciar licença → Chaves de licença.
Ativação de licença

  • Em seguida, marque a caixa. "Li as duas condições acima e desejo ativar o plugin.", e clique no botão Ativar licença botão.
Caixa de seleção para ativação da licença

Abaixo, detalhamos duas maneiras de obter os metadados do provedor de serviços SAML para configurar em seu provedor de identidade.

A] Usando URL de metadados SAML ou arquivo de metadados
  • De acordo com o relatório Menu de configurações do plugin, olhe para Configurações do provedor de serviços. Abaixo, você pode encontrar o URL dos metadados, bem como a opção para baixar os metadados SAML.
  • Copie o URL dos metadados ou baixe o arquivo de metadados para configurá-lo no seu provedor de identidade.
  • Você pode consultar a captura de tela abaixo:
ASP.NET Core - Metadados do Provedor de Serviços

B] Carregando metadados manualmente
  • De Configurações do provedor de serviços seção, você pode copiar manualmente os metadados do provedor de serviços como ID da entidade SP, URL do ACS, URL de logout único e compartilhe-o com seu provedor de identidade para configuração.
  • Você pode consultar a captura de tela abaixo:
ASP.NET Core - inserir dados sp manualmente

Registre o aplicativo Identity Experience Framework

  • Logar em Portal B2C do Azure.
  • No locatário do Azure AD B2C, selecione Registros de aplicativosE, em seguida, selecione Novo registro.
Portal B2C do Azure

  • Para Nome, digite IdentityExperienceFramework.
  • Debaixo Tipos de conta suportados, selecione Contas somente neste diretório organizacional.
Tipos de conta suportados

  • Debaixo URI de redirecionamentoSelecione Web e, em seguida, insira "https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com", onde your-tenant-name é o nome de domínio do seu locatário do Azure AD B2C.

ObservaçãoNa etapa seguinte, se o 'Permissões' Se a seção não estiver visível, pode ser que você não tenha uma assinatura ativa do AzureAD B2C para esse locatário. Você pode encontrar os detalhes sobre a assinatura do AzureAD B2C aqui. e você pode criar um novo inquilino seguindo os passos aqui..


  • Debaixo Permissões, Selecione o Conceder consentimento de administrador para permissões openid e offline_access Caixa de seleção.
  • Clique em Registrar-se.
URI de redirecionamento

  • Grave o ID do aplicativo (cliente) para uso em uma etapa posterior.
ID do aplicativo (cliente)

Registre o aplicativo Identity Experience Framework

  • Debaixo Gerenciar, selecione Expor uma API.
  • Selecionar Adicionar um escopo, selecione Salvar e continue para aceitar o URI do ID do aplicativo padrão.
Aplicação Identity Experience Framework

  • Insira os seguintes valores para criar um escopo que permita a execução de políticas personalizadas no seu locatário do Azure AD B2C:
    • Nome do escopo: personificação_do_usuário
    • Nome de exibição do consentimento do administrador: Acessar o IdentityExperienceFramework
    • Descrição do consentimento do administradorPermitir que o aplicativo acesse o IdentityExperienceFramework em nome do usuário conectado.
  • Selecionar Adicionar escopo.
Execução de política personalizada

Registre o aplicativo ProxyIdentityExperienceFramework

  • Selecionar Registros de aplicativosE, em seguida, selecione Novo registro.
  • Para Nome, digite ProxyIdentityExperienceFramework.
  • Debaixo Tipos de conta suportados, selecione Contas somente neste diretório organizacional.
Aplicação ProxyIdentityExperienceFramework

  • Debaixo URI de redirecionamento, use o menu suspenso para selecionar Cliente público/nativo (móvel e desktop).
  • Para URI de redirecionamento, digite myapp://auth.
  • Debaixo Permissões, marque a caixa de seleção Conceder consentimento do administrador para permissões openid e offline_access.
  • Selecionar Registrar-se.
Aplicação ProxyIdentityExperienceFramework

  • Grave o ID do aplicativo (cliente) para uso em uma etapa posterior.
Aplicação ProxyIdentityExperienceFramework

Em seguida, especifique que o aplicativo deve ser tratado como um cliente público

  • Debaixo Gerenciar, selecione Autenticação.
  • Debaixo Configurações avançadas, habilitar Permitir fluxos de clientes públicos (selecione Sim).
  • Selecionar Economize.
Permitir fluxos de clientes públicos

Agora, conceda permissões para o escopo da API que você expôs anteriormente no registro do IdentityExperienceFramework

  • Debaixo Gerenciar, selecione Permissões de API.
  • Debaixo Permissões configuradas, selecione Adicione uma permissão.
Registro no IdentityExperienceFramework

  • Selecione os Minhas APIs guia e selecione o Estrutura de experiência de identidade aplicação.
Registro no IdentityExperienceFramework

  • Debaixo Permissão, Selecione o personificação do usuário escopo que você definiu anteriormente.
  • Selecionar Adicionar permissões. Conforme as instruções, aguarde alguns minutos antes de prosseguir para a próxima etapa.
Registro no IdentityExperienceFramework

  • Selecionar Conceder consentimento administrativo para (nome do seu inquilino).
Registro no IdentityExperienceFramework

  • Selecione sua conta de administrador conectada no momento ou entre com uma conta no seu locatário do Azure AD B2C que tenha recebido pelo menos a função de administrador de aplicativo em nuvem.
  • Selecionar Sim.
  • Selecionar revisar, e então verifique se "Concedido para ..." aparece em Status para os escopos - offline_access, openid e user_impersonation. Pode levar alguns minutos para que as permissões sejam propagadas.
Registro no IdentityExperienceFramework

Registre o aplicativo ASP.NET

  • Selecione Registros de aplicativos e, em seguida, selecione Novo registro.
  • Insira um nome para o aplicativo, como por exemplo: WP-app.
  • Debaixo Tipos de conta suportados, selecione Contas em qualquer diretório organizacional ou provedor de identidade. Para autenticação de usuários com o Azure AD B2C.
Registre o aplicativo ASP.NET

  • Debaixo URI de redirecionamento, selecione Web e insira o URL do ACS do Configurações do provedor de serviços guia do plugin miniOrange ASP.NET SAML, conforme mencionado em Etapa 2B acima.
  • Selecionar Registrar-se.
Registre o aplicativo ASP.NET

  • Debaixo Gerenciar, clique em Expor uma API.
  • Clique em Conjunto para o ID do aplicativo URI e clique em Economize, aceitando o valor padrão.
Registre o aplicativo ASP.NET

  • Depois de salvo, copie o URI do ID do aplicativo e navegue até o Metadados do Provedor de Serviços aba do plugin.
  • Cole o valor copiado sob o ID da Entidade SP / Emissor campo fornecido nesta aba.
  • Clique em Salvar.

Gerar políticas de SSO

  • No nosso portal Azure B2C, navegue até a seção Visão geral do seu locatário B2C e registre o nome do seu locatário.
    NOTASe o seu domínio B2C for b2ctest.onmicrosoft.com, então o nome do seu locatário será b2ctest.
Gerar políticas de SSO

  • Digite seu Nome do locatário do Azure B2C Abaixo, juntamente com o ID do aplicativo para os aplicativos IdentityExperienceFramework e ProxyIdentityExperienceFramework, conforme registrados nas etapas acima.
Nome do locatário do Azure B2C:
ID do aplicativo IdentityExperienceFramework:
ID do aplicativo ProxyIdentityExperienceFramework:
Selecione atributos adicionais

  • Clique no Gerar políticas do Azure B2C botão para baixar as políticas de SSO.
  • Extraia o arquivo zip baixado. Ele contém os arquivos de política e o certificado (.pfx), que você precisará nas etapas seguintes.

Configurar e carregar certificados

ObservaçãoNa etapa seguinte, se o 'Estrutura de Experiência de Identidade' Se não for clicável, pode ser que você não tenha uma assinatura ativa do Azure AD B2C para esse locatário. Você pode encontrar os detalhes sobre a assinatura do Azure AD B2C aqui. e você pode criar um novo inquilino seguindo os passos aqui..


Configurar e carregar certificados

  • Debaixo Políticas internas, selecione Estrutura de Experiência de Identidade e depois Chaves de política.
Estrutura de Experiência de Identidade

  • Selecionar AdicioneE, em seguida, selecione Opções > Upload.
  • Insira o nome como SamlIdpCert. O prefixo B2C_1A_ será adicionado automaticamente ao nome da sua chave.
Criar uma chave

  • Usando o controle de upload de arquivo, carregue o certificado que foi gerado nas etapas acima, juntamente com as políticas de SSO (tenantname-cert.pfx).
  • Insira a senha do certificado como o nome do seu locatário e clique em Criar. Por exemplo, se o nome do seu locatário for xyzb2c.onmicrosoft.com, insira a senha como xyzb2c.
  • Você poderá ver uma nova chave de política com o nome B2C_1A_SamlIdpCert.

Crie a chave de assinatura

  • Na página de visão geral do seu locatário do Azure AD B2C, em Políticas internas, selecione Estrutura de Experiência de Identidade.
  • Selecionar Chaves de Política e depois selecione Adicione.
  • Para Opções, escolha Gerar.
  • In Nome, digite TokenSigningKeyContainer.
  • Para Tipo de chave, selecione RSA.
  • Para Uso da chave, selecione Assinatura.
Crie a chave de assinatura

  • Selecionar Criar.

Crie a chave de criptografia

  • Na página de visão geral do seu locatário do Azure AD B2C, em Políticas internas, selecione Estrutura de Experiência de Identidade.
  • Selecionar Chaves de Política e depois selecione Adicione.
  • Para Opções, escolha Gerar.
  • In Nome, digite TokenEncryptionKeyContainer.
  • Para Tipo de chave, selecione RSA.
  • Para Uso da chave, selecione Criptografia.
Crie a chave de criptografia

  • Selecionar Criar.

Carregar as políticas

  • Selecione os Estrutura de Experiência de Identidade item de menu no seu locatário B2C no portal do Azure.
Carregar as políticas

  • Selecionar Carregar política personalizada.
Carregar as políticas

  • Seguindo a seguinte ordem, carregue os arquivos de política baixados nas etapas acima:
    • TrustFrameworkBase.xml
    • TrustFrameworkExtensions.xml
    • SignUpOrSignin.xml
    • ProfileEdit.xml
    • PasswordReset.xml
    • SignUpOrSigninSAML.xml
  • Conforme você carrega os arquivos, o Azure adiciona o prefixo B2C_1A_ a cada um.

Você configurou com sucesso o Azure B2C como provedor de identidade SAML (IdP) para implementar o Single Sign-On (SSO) do ASP.NET.

A] Usando URL de metadados SAML ou arquivo de metadados
  • De acordo com o relatório Menu de configurações do plugin, olhe para Configurações do provedor de serviços. Abaixo, você pode encontrar o URL dos metadados, bem como a opção para baixar os metadados SAML.
  • Copie o URL dos metadados ou baixe o arquivo de metadados para configurá-lo no seu provedor de identidade.
  • Você pode consultar a captura de tela abaixo:
Metadados do provedor de serviços ASP.NET Core Enterprise

B] Carregando metadados manualmente
  • De Configurações do provedor de serviços Na seção, você pode copiar manualmente os metadados do provedor de serviços, como por exemplo ID da entidade SP, URL do ACS, URL de logout únicoE compartilhe-o com seu provedor de identidade para configuração.
  • Você também pode baixar o Certificado SP clicando em Baixar Certificado SP e forneça-o ao seu provedor de identidade, se necessário.
  • Sob o Certificado de criptografia Na seção correspondente, selecione o tipo de certificado apropriado de acordo com sua necessidade.
  • Após concluir as etapas acima, clique em Economize para aplicar a configuração.
  • Você pode consultar a captura de tela abaixo:
ASP.NET Core Enterprise - Carregar dados do SharePoint manualmente

Registre o aplicativo Identity Experience Framework

  • Logar em Portal B2C do Azure.
  • No locatário do Azure AD B2C, selecione Registros de aplicativosE, em seguida, selecione Novo registro.
Portal B2C do Azure

  • Para Nome, digite IdentityExperienceFramework.
  • Debaixo Tipos de conta suportados, selecione Contas somente neste diretório organizacional.
Tipos de conta suportados

  • Debaixo URI de redirecionamentoSelecione Web e, em seguida, insira "https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com", onde your-tenant-name é o nome de domínio do seu locatário do Azure AD B2C.

ObservaçãoNa etapa seguinte, se o 'Permissões' Se a seção não estiver visível, pode ser que você não tenha uma assinatura ativa do AzureAD B2C para esse locatário. Você pode encontrar os detalhes sobre a assinatura do AzureAD B2C aqui. e você pode criar um novo inquilino seguindo os passos aqui..


  • Debaixo Permissões, Selecione o Conceder consentimento de administrador para permissões openid e offline_access Caixa de seleção.
  • Clique em Registrar-se.
URI de redirecionamento

  • Grave o ID do aplicativo (cliente) para uso em uma etapa posterior.
ID do aplicativo (cliente)

Registre o aplicativo Identity Experience Framework

  • Debaixo Gerenciar, selecione Expor uma API.
  • Selecionar Adicionar um escopo, selecione Salvar e continue para aceitar o URI do ID do aplicativo padrão.
Aplicação Identity Experience Framework

  • Insira os seguintes valores para criar um escopo que permita a execução de políticas personalizadas no seu locatário do Azure AD B2C:
    • Nome do escopo: personificação_do_usuário
    • Nome de exibição do consentimento do administrador: Acessar o IdentityExperienceFramework
    • Descrição do consentimento do administradorPermitir que o aplicativo acesse o IdentityExperienceFramework em nome do usuário conectado.
  • Selecionar Adicionar escopo.
Execução de política personalizada

Registre o aplicativo ProxyIdentityExperienceFramework

  • Selecionar Registros de aplicativosE, em seguida, selecione Novo registro.
  • Para Nome, digite ProxyIdentityExperienceFramework.
  • Debaixo Tipos de conta suportados, selecione Contas somente neste diretório organizacional.
Aplicação ProxyIdentityExperienceFramework

  • Debaixo URI de redirecionamento, use o menu suspenso para selecionar Cliente público/nativo (móvel e desktop).
  • Para URI de redirecionamento, digite myapp://auth.
  • Debaixo Permissões, marque a caixa de seleção Conceder consentimento do administrador para permissões openid e offline_access.
  • Selecionar Registrar-se.
Aplicação ProxyIdentityExperienceFramework

  • Grave o ID do aplicativo (cliente) para uso em uma etapa posterior.
Aplicação ProxyIdentityExperienceFramework

Em seguida, especifique que o aplicativo deve ser tratado como um cliente público

  • Debaixo Gerenciar, selecione Autenticação.
  • Debaixo Configurações avançadas, habilitar Permitir fluxos de clientes públicos (selecione Sim).
  • Selecionar Economize.
Permitir fluxos de clientes públicos

Agora, conceda permissões para o escopo da API que você expôs anteriormente no registro do IdentityExperienceFramework

  • Debaixo Gerenciar, selecione Permissões de API.
  • Debaixo Permissões configuradas, selecione Adicione uma permissão.
Registro no IdentityExperienceFramework

  • Selecione os Minhas APIs guia e selecione o Estrutura de experiência de identidade aplicação.
Registro no IdentityExperienceFramework

  • Debaixo Permissão, Selecione o personificação do usuário escopo que você definiu anteriormente.
  • Selecionar Adicionar permissões. Conforme as instruções, aguarde alguns minutos antes de prosseguir para a próxima etapa.
Registro no IdentityExperienceFramework

  • Selecionar Conceder consentimento administrativo para (nome do seu inquilino).
Registro no IdentityExperienceFramework

  • Selecione sua conta de administrador conectada no momento ou entre com uma conta no seu locatário do Azure AD B2C que tenha recebido pelo menos a função de administrador de aplicativo em nuvem.
  • Selecionar Sim.
  • Selecionar revisar, e então verifique se "Concedido para ..." aparece em Status para os escopos - offline_access, openid e user_impersonation. Pode levar alguns minutos para que as permissões sejam propagadas.
Registro no IdentityExperienceFramework

Registre o aplicativo ASP.NET

  • Selecione Registros de aplicativos e, em seguida, selecione Novo registro.
  • Insira um nome para o aplicativo, como por exemplo: WP-app.
  • Debaixo Tipos de conta suportados, selecione Contas em qualquer diretório organizacional ou provedor de identidade. Para autenticação de usuários com o Azure AD B2C.
Registre o aplicativo ASP.NET

  • Debaixo URI de redirecionamento, selecione Web e insira o URL do ACS do Configurações do provedor de serviços guia do plugin miniOrange ASP.NET SAML, conforme mencionado em Etapa 2B acima.
  • Selecionar Registrar-se.
Registre o aplicativo ASP.NET

  • Debaixo Gerenciar, clique em Expor uma API.
  • Clique em Conjunto para o ID do aplicativo URI e clique em Economize, aceitando o valor padrão.
Registre o aplicativo ASP.NET

  • Depois de salvo, copie o URI do ID do aplicativo e navegue até o Metadados do Provedor de Serviços aba do plugin.
  • Cole o valor copiado sob o ID da Entidade SP / Emissor campo fornecido nesta aba.
  • Clique em Salvar.

Gerar políticas de SSO

  • No nosso portal Azure B2C, navegue até a seção Visão geral do seu locatário B2C e registre o nome do seu locatário.
    NOTASe o seu domínio B2C for b2ctest.onmicrosoft.com, então o nome do seu locatário será b2ctest.
Gerar políticas de SSO

  • Digite seu Nome do locatário do Azure B2C Abaixo, juntamente com o ID do aplicativo para os aplicativos IdentityExperienceFramework e ProxyIdentityExperienceFramework, conforme registrados nas etapas acima.
Nome do locatário do Azure B2C:
ID do aplicativo IdentityExperienceFramework:
ID do aplicativo ProxyIdentityExperienceFramework:
Selecione atributos adicionais

  • Clique no Gerar políticas do Azure B2C botão para baixar as políticas de SSO.
  • Extraia o arquivo zip baixado. Ele contém os arquivos de política e o certificado (.pfx), que você precisará nas etapas seguintes.

Configurar e carregar certificados

ObservaçãoNa etapa seguinte, se o 'Estrutura de Experiência de Identidade' Se não for clicável, pode ser que você não tenha uma assinatura ativa do Azure AD B2C para esse locatário. Você pode encontrar os detalhes sobre a assinatura do Azure AD B2C aqui. e você pode criar um novo inquilino seguindo os passos aqui..


Configurar e carregar certificados

  • Debaixo Políticas internas, selecione Estrutura de Experiência de Identidade e depois Chaves de política.
Estrutura de Experiência de Identidade

  • Selecionar AdicioneE, em seguida, selecione Opções > Upload.
  • Insira o nome como SamlIdpCert. O prefixo B2C_1A_ será adicionado automaticamente ao nome da sua chave.
Criar uma chave

  • Usando o controle de upload de arquivo, carregue o certificado que foi gerado nas etapas acima, juntamente com as políticas de SSO (tenantname-cert.pfx).
  • Insira a senha do certificado como o nome do seu locatário e clique em Criar. Por exemplo, se o nome do seu locatário for xyzb2c.onmicrosoft.com, insira a senha como xyzb2c.
  • Você poderá ver uma nova chave de política com o nome B2C_1A_SamlIdpCert.

Crie a chave de assinatura

  • Na página de visão geral do seu locatário do Azure AD B2C, em Políticas internas, selecione Estrutura de Experiência de Identidade.
  • Selecionar Chaves de Política e depois selecione Adicione.
  • Para Opções, escolha Gerar.
  • In Nome, digite TokenSigningKeyContainer.
  • Para Tipo de chave, selecione RSA.
  • Para Uso da chave, selecione Assinatura.
Crie a chave de assinatura

  • Selecionar Criar.

Crie a chave de criptografia

  • Na página de visão geral do seu locatário do Azure AD B2C, em Políticas internas, selecione Estrutura de Experiência de Identidade.
  • Selecionar Chaves de Política e depois selecione Adicione.
  • Para Opções, escolha Gerar.
  • In Nome, digite TokenEncryptionKeyContainer.
  • Para Tipo de chave, selecione RSA.
  • Para Uso da chave, selecione Criptografia.
Crie a chave de criptografia

  • Selecionar Criar.

Carregar as políticas

  • Selecione os Estrutura de Experiência de Identidade item de menu no seu locatário B2C no portal do Azure.
Carregar as políticas

  • Selecionar Carregar política personalizada.
Carregar as políticas

  • Seguindo a seguinte ordem, carregue os arquivos de política baixados nas etapas acima:
    • TrustFrameworkBase.xml
    • TrustFrameworkExtensions.xml
    • SignUpOrSignin.xml
    • ProfileEdit.xml
    • PasswordReset.xml
    • SignUpOrSigninSAML.xml
  • Conforme você carrega os arquivos, o Azure adiciona o prefixo B2C_1A_ a cada um.

Você configurou com sucesso o Azure B2C como provedor de identidade SAML (IdP) para implementar o Single Sign-On (SSO) do ASP.NET.

  • Clique no Adicionar novo IDP botão para configurar um novo Provedor de Identidade.
SSO SAML do ASP.NET Core usando o Azure B2C como IdP - Adicionar novo IdP

  • Sob o Configurações de Plugin guia, selecione AzureB2C como seu provedor de identidade na lista exibida.
SSO SAML do ASP.NET Core usando o Azure B2C como IdP - Adicionar novo IdP

Há duas maneiras detalhadas abaixo com as quais você pode configurar os metadados do seu Provedor de Identidade SAML no middleware.

A] Carregar metadados usando o botão Carregar metadados do IDP:
  • Se o seu provedor de identidade tiver fornecido a URL de metadados ou o arquivo de metadados (somente formato .xml), você poderá simplesmente configurar os metadados do provedor de identidade no middleware usando o Carregar metadados do IDP opção.
  • Copie o URL dos metadados ou baixe o arquivo de metadados para configurá-lo no seu provedor de identidade.
  • Você pode consultar a captura de tela abaixo:
ASP.NET Core - Carregar metadados do IDP

  • Você pode escolher qualquer uma das opções de acordo com o formato de metadados disponível.
B] Configure os metadados do provedor de identidade manualmente:
  • Depois de configurar seu Provedor de Identidade, ele irá fornecer a você ID da entidade IDP, URL de logon único do IDP e Certificado SAML X509 campos respectivamente.
  • Clique Economize para salvar seus dados de IDP.
ASP.NET Core - Configurar IDP manualmente
  • Clique no Adicionar novo IDP botão para configurar um novo Provedor de Identidade.
SSO SAML do ASP.NET Core usando o Azure B2C como IdP - Adicionar novo IdP

  • Sob o Configurações de Plugin guia, selecione AzureB2C como seu provedor de identidade da lista exibida.
Lista de Provedores de Identidade

Há duas maneiras detalhadas abaixo com as quais você pode configurar os metadados do seu Provedor de Identidade SAML no middleware.

A] Carregar metadados usando o botão Carregar metadados do IDP:
  • Se o seu provedor de identidade tiver fornecido a URL de metadados ou o arquivo de metadados (somente formato .xml), você poderá simplesmente configurar os metadados do provedor de identidade no middleware usando o Carregar metadados do IDP opção.
  • Copie o URL dos metadados ou baixe o arquivo de metadados para configurá-lo no seu provedor de identidade.
  • Você pode consultar a captura de tela abaixo:
ASP.NET Core Enterprise - Carregar metadados do IdP

  • Você pode escolher qualquer uma das opções de acordo com o formato de metadados disponível.
B] Configure os metadados do provedor de identidade manualmente:
  • Depois de configurar seu Provedor de Identidade, ele irá fornecer a você ID da entidade IDP, URL de logon único do IDP e Certificado SAML X509 campos respectivamente.
  • Clique Economize para salvar seus dados de IDP.
ASP.NET Core Enterprise - Configurar o IdP manualmente
  • Após carregar os detalhes dos metadados, navegue até Configurações do Provedor de Identidade seção. Passe o mouse sobre o Selecionar ações menu suspenso e clique em Configuração de Teste.
ASP.NET Core - Configuração de Teste

  • A captura de tela abaixo mostra um resultado bem-sucedido. Clique em Integração SSO para continuar com a integração do SSO.
ASP.NET Core - Configuração de Teste

  • Se você estiver enfrentando algum erro no middleware, será exibida uma janela semelhante à abaixo.
ASP.NET Core - Erro de configuração de teste

  • Para solucionar o erro, siga os passos abaixo:
  • Debaixo Resolução de problemas guia, ative a alternância para receber os logs do plugin.
ASP.NET Core - Solução de problemas

  • Uma vez habilitado, você poderá recuperar os logs do plugin navegando até Configurações de Plugin guia e clicando em Configuração de Teste.
  • Faça o download do arquivo de log do Resolução de problemas aba para ver o que deu errado.
  • Você pode compartilhar o arquivo de log conosco em aspnetsupport@xecurify.com e nossa equipe entrará em contato com você para resolver seu problema.
  • Após carregar os detalhes dos metadados, navegue até Configurações do Provedor de Identidade seção. Passe o mouse sobre o Selecionar ações menu suspenso e clique em Configuração de Teste.
Configuração de teste do ASP.NET Core Enterprise

  • A captura de tela abaixo mostra um resultado de teste bem-sucedido. Clique em clique aqui para concluir as etapas restantes de integração do SSO.
ASP.NET Core Enterprise - Configuração de Teste

  • Se você estiver enfrentando algum erro no middleware, clique em guia de solução de problemas botão.
ASP.NET Core Enterprise - Solução de problemas

  • Para solucionar o erro, siga os passos abaixo:
  • Na aba Solução de Problemas, ative a opção para receber os registros do plugin e reproduzir o problema.
  • Faça o download do arquivo de registro clicando em Baixar arquivo de registro botão para ver o que deu errado.
ASP.NET Core Enterprise - arquivo de log

  • Você pode compartilhar o arquivo de log conosco em aspnetsupport@xecurify.com e nossa equipe entrará em contato com você para resolver seu problema.
  • Depois de testar a configuração, mapeie os atributos do seu aplicativo com os atributos do Provedor de Identidade (IdP).
  • No menu à esquerda do miniOrange ASP.NET SAML SSO Middleware, clique em Mapeamento de atributos/funções aba conforme mostrado na imagem.
ASP.NET Core - Mapeamento de Atributos

  • Se você quiser passar atributos adicionais do seu IdP, insira o Nome do Atributo e o Valor do Atributo correspondente em Mapeamento de atributos personalizados.
  • Observação: Todos os atributos mapeados serão armazenados na sessão para que você possa acessá-los em seu aplicativo.
  • Depois que os atributos forem mapeados, clique em Salvar mapeamento de atributos para aplicar alterações.
ASP.NET Core - Mapeamento de Atributos
  • Após testar a configuração, mapeie os atributos do seu aplicativo com os atributos do Provedor de Identidade (IdP).
  • No menu à esquerda do miniOrange ASP.NET SAML SSO Middleware, clique em Mapeamento de atributos/funções aba conforme mostrado na imagem.
  • Mapeie o necessário Atributos do IdP (tais como Nome de usuário, E-mail, Nome e Sobrenome) recebidos na resposta SAML em seus respectivos campos.
Mapeamento de atributos do ASP.NET Core Enterprise

  • ObservaçãoTodos os atributos mapeados serão armazenados na sessão para que você possa acessá-los em sua aplicação.
  • Depois que os atributos forem mapeados, clique em Salvar mapeamento de atributos para aplicar alterações.
Mapeamento de atributos personalizados
  • Se você quiser passar atributos adicionais do seu IdP, insira o Nome do Atributo e o Valor do Atributo correspondente em Mapeamento de atributos personalizados.
  • De Valor do atributo (Reivindicação) No menu suspenso, selecione uma das declarações recebidas nos resultados da Configuração de Teste. Por exemplo: NameID.
  • Essas declarações correspondem aos atributos enviados pelo seu Provedor de Identidade (IdP).
ASP.NET Core Enterprise - Mapeamento de Atributos Personalizados

  • Essas declarações correspondem aos atributos enviados pelo seu Provedor de Identidade (IdP).
ASP.NET Core Enterprise - Mapeamento de Atributos Personalizados

  • De acordo com o relatório Nome do Atributo No campo, insira o nome do atributo conforme você deseja que ele apareça ou seja usado em sua aplicação .NET.
  • Você pode adicionar vários mapeamentos se seu aplicativo exigir vários atributos, clicando em + botão.
  • Após definir todos os mapeamentos necessários, clique em Salvar mapeamento de atributos para armazenar a configuração.
ASP.NET Core Enterprise - Mapeamento Múltiplo de Atributos Personalizados

  • O plugin agora traduzirá as declarações SSO recebidas do seu Provedor de Identidade (IdP) para os nomes de atributos personalizados definidos aqui.
Mapeamento de Funções
  • De acordo com o relatório Mapeamento de Funções seção, insira o Nome do Atributo do Grupo exatamente como configurado em seu provedor de identidade para obter as informações do grupo de usuários.
  • Introduzir o Nome do papel recebido do Provedor de Identidade e mapeá-lo para o apropriado. Valor da função No campo Valor da função, insira as funções definidas em sua aplicação .NET.
  • Por exemplo: mapeie o grupo IdP Group1 ou Group10 recebido no atributo UserGroups para a função correspondente configurada em seu aplicativo .NET.
  • Após adicionar os mapeamentos necessários, clique em Salvar mapeamento de funções Para salvar a configuração com sucesso.
ASP.NET Core Enterprise - Mapeamento de Funções

Restrição de domínio
  • Essa funcionalidade pode ser usada para restringir o acesso do usuário ao site com base no domínio do atributo "Email" mapeado.
  • De acordo com o relatório Atributo de e-mail No campo, insira o nome do atributo que contém o endereço de e-mail do usuário, conforme recebido do seu Provedor de Identidade (IdP).
ASP.NET Core Enterprise - Restrição de Domínio

  • De acordo com o relatório Nome de domínio No campo, insira o(s) domínio(s) que deseja permitir ou restringir, separados por vírgulas caso esteja adicionando vários domínios.
  • permitir que o Alternar restrição Com base na sua necessidade de configurar o acesso por meio de listas negras ou brancas.
  • Após concluir a configuração, clique em Salvar domínios Para salvar as configurações com sucesso.
ASP.NET Core Enterprise - Restrição de Domínio Salvar Domínios

  • Estas etapas permitem que você recupere as informações do usuário SSO em seu aplicativo na forma de declarações de usuário.
  • Você também pode olhar o tour de configuração para entender como a integração SSO funcionaria em seu aplicativo middleware asp.net.
  • Basta copiar e colar esse trecho de código onde você quiser acessar os atributos do usuário.
ASP.NET Core - Código de Integração

  • Observação: Com o middleware de teste, os detalhes do usuário autenticado são armazenados em declarações de usuário usando a Autenticação de Cookie .NET padrão. O suporte para definir declarações de usuário usando autenticação baseada em cabeçalho, sessão e JWT está disponível em nosso plugin premium.
  • Você também pode copiar o código de integração abaixo:

  string name="";
  string claimtype="";
  string claimvalue="";
  if(User.Identity.IsAuthenticated)
  {
    foreach(var claim in User.claims)
    {
      claimtype = claim.Type;
      claimvalue = claim.Value;
    }
    //retrive custom attributes(for eg. Retrieve Mapped 'mobileNumber' attribute of your IDP)
    var identity = (ClaimsIdentity)User.Identity;
    IEnumerable claims = identity.claims;
    string mobileNumber = identity.FindFirst("mobileNumber")?.Value;
  }

  • Esses passos permitem que você recupere as informações do usuário SSO em seu aplicativo na forma de declarações de usuário.
  • Basta copiar e colar o trecho de código onde você quiser acessar os atributos do usuário.
Código de integração do ASP.NET Core Enterprise

  • Você também pode copiar o código de integração abaixo:

  string name="";
  string claimtype="";
  string claimvalue="";
  if(User.Identity.IsAuthenticated)
  {
    foreach(var claim in User.claims)
    {
      claimtype = claim.Type;
      claimvalue = claim.Value;
    }
    //retrive custom attributes(for eg. Retrieve Mapped 'mobileNumber' attribute of your IDP)
    var identity = (ClaimsIdentity)User.Identity;
    IEnumerable claims = identity.claims;
    string mobileNumber = identity.FindFirst("mobileNumber")?.Value;
  }

  • Passe o mouse sobre Selecionar ações e clique em Copiar link SSO.
ASP.NET Core Copiar Link SSO

  • Use o seguinte URL como um link no aplicativo de onde você deseja executar o SSO:
  https://<asp.net-middleware-base-url>/?ssoaction=login
  • Por exemplo, você pode usá-lo como:
  <a href="https://<asp.net-middleware-base-url>/?ssoaction=login">Log in</a>
  • Passe o mouse sobre Selecionar ações e clique em Copiar link SSO.
ASP.NET Core Enterprise Copiar link SSO

  • Use o seguinte URL como um link no aplicativo de onde você deseja executar o SSO:
  https://<asp.net-middleware-base-url>/?ssoaction=login
  • Por exemplo, você pode usá-lo como:
  <a href="https://<asp.net-middleware-base-url>/?ssoaction=login">Log in</a>
  • Use a seguinte URL como um link para seu aplicativo de onde você deseja executar o SLO:
  https://<asp.net-middleware-base-url>/?ssoaction=logout
  • Por exemplo, você pode usá-lo como:
  <a href="https://<asp.net-middleware-base-url>/?ssoaction=logout">Log out</a>
  • Use a seguinte URL como um link para seu aplicativo de onde você deseja executar o SLO:
  https://<asp.net-middleware-base-url>/?ssoaction=logout
  • Por exemplo, você pode usá-lo como:
  <a href="https://<asp.net-middleware-base-url>/?ssoaction=logout">Log out</a>

Configurações avançadas

Se você deseja aplicar as Configurações Avançadas, navegue até... Configurações avançadas aba.

Redirecionamento automático para o IdP
  • permitir que o Redirecionamento automático para o IdP Ativar botão para redirecionar automaticamente os usuários para o provedor de identidade configurado durante o login.
  • Selecione o IdP para o qual deseja redirecionar os usuários a partir do URL específico em IDP padrão suspenso.
  • Escolha o Tipo de redirecionamento as Restrito or Público com base em sua exigência.
  • Caso necessário, insira os URLs que devem ser excluídos do redirecionamento no campo "Excluir URLs", separados por vírgulas.
  • Clique em Economize para armazenar a configuração com sucesso.
ASP.NET Core Enterprise - Redirecionamento automático para o IdP

Desativar o painel de administração
  • permitir que o Desativar o painel de administração Desative a opção para ocultar o painel de administração do miniOrange e clique em Salvar para aplicar as alterações.
ASP.NET Core Enterprise - Desativar o painel de administração

Informações do certificado
  • Acesse a seção Informações do Certificado e selecione o Tipo de Certificado desejado (Certificado de assinatura ou certificado de criptografia).
  • Clique em Regenerar certificado Se você deseja gerar um novo certificado.
ASP.NET Core Enterprise - Informações sobre o certificado

  • Em seguida, clique em Solicitar novo certificado para aplicar o certificado atualizado.
ASP.NET Core Enterprise - Informações sobre o certificado

Carregar certificado personalizado
  • Navegue até a Carregar certificado personalizado seção e selecione o Tipo de Certificado necessário (Certificado de assinatura ou certificado de criptografia).
  • Clique em Escolher Ficheiro para fazer o upload do Chave pública (.crt) e Chave privada (.pfx) arquivos e insira o Senha da chave privada no campo fornecido.
  • Após fornecer os detalhes necessários, clique em Economize Para carregar e aplicar o certificado personalizado com sucesso.
ASP.NET Core Enterprise - Carregar certificado personalizado

 Obrigado pela sua resposta. Entraremos em contato em breve.

Algo deu errado. Envie sua consulta novamente.

Entraremos em contato com você o mais breve possível!


ADFS_sso ×
Olá!

Preciso de ajuda? Estamos bem aqui!

ajuda