Logon único SAML (SSO) do Blazor
O aplicativo oferece a capacidade de habilitar o logon único SAML para seus aplicativos Blazor. Usando o logon único, você pode usar apenas uma senha para acessar seus aplicativos e serviços Blazor. Nosso aplicativo é compatível com todos os provedores de identidade compatíveis com SAML. Aqui, apresentaremos um guia passo a passo para configurar o logon único (SSO) entre Blazor e PingFederate, considerando PingFederate como IdP. Para saber mais sobre os recursos que oferecemos para o SSO do Blazor, clique em
aqui..
Suporte de plataforma: O aplicativo Blazor SAML é compatível com ASP.NET Core 2.0 e versões superiores. Ele também é compatível com todas as plataformas Blazor, incluindo Windows, Linux e macOS.
Etapas para configurar o Blazor Single Sign-On (SSO) usando PingFederate como IDP
Etapa 1: Pré-requisitos: Download e instalação
- Instale o Blazor SAML SSO Middleware no pacote do seu aplicativo usando o pacote nuget
using miniorange.saml
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie();
services.AddControllersWithViews();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.UseCookiePolicy();
app.UseAuthentication();
app.UseStaticFiles();
app.UseminiOrangeSAMLSSOMiddleware();
app.Run();
}
}
using Microsoft.AspNetCore.Authentication.Cookies;
using miniOrange.saml;
var builder = WebApplication.CreateBuilder(args);
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();
app.UseStaticFiles();
app.UseminiOrangeSAMLSSOMiddleware();
app.Run();
app.useantiforgery();
-
Após a integração, abra seu navegador e navegue até o painel do conector com o URL abaixo:
https://<blazor-application-base-url>/?ssoaction=config
-
Se a página de registro ou de login aparecer, você adicionou com sucesso o conector miniOrange ASP.NET SAML SSO ao seu aplicativo.
-
Registre-se ou faça login com sua conta clicando em Registrar-se botão para configurar o aplicativo.
2. Configurar PingFederate como Provedor de Identidade
-
Sob o Configurações de Plugin guia, selecione PingFederado como seu provedor de identidade na lista exibida.
Há duas maneiras detalhadas abaixo com as quais você pode obter os metadados do SAML SP para configurar no 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:
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:
- Efetue login no seu painel de administração do usuário do Ping Federate.
-
Clique no Provedor de Identidade no menu de navegação à esquerda.
-
Debaixo CONEXÃO SP, clique em
Criar Nova botão.
-
Selecione os Perfis SSO do navegador modelo de conexão no Tipo de conexão guia e clique
Seguinte.
-
Selecione SSO do navegador no Opções de conexão guia e clique
Seguinte.
-
Selecionar Envie o como método para importar metadados e clicar Escolha arquivo para escolher os metadados do plugin miniOrange SSO no Importar metadados aba. Clique
Seguinte.
-
Revise as informações sobre o Resumo de metadados tabulação e clique Seguinte.
-
De acordo com o relatório Guia Informações gerais garantir que o
ID da entidade do provedor de serviços, nome da conexão e
URL base campos pré-preenchidos com base nos metadados. Clique Seguinte.
-
Navegue até a SSO do navegador guia e clique no
Configurar SSO do navegador. Você será redirecionado para o assistente de configuração do SSO do navegador.
-
Selecione os SSO iniciado pelo IdP e
SSO iniciado por SP opções no Perfis SAML guia e clique
Seguinte.
-
Insira o tempo de validade da afirmação desejado em
Tempo de vida da afirmação guia e clique Seguinte. Por padrão, ele é configurado 5 minutos para ambos.
-
Navegue até a Criação de Asserção e clique em Configurar Criação de Asserção. Você será redirecionado para o assistente de configuração para criação de asserção.
- Na guia Mapeamento de Identidade, selecione PADRÃO e clique em Avançar.
-
Selecione um formato de nome de assunto para SAML_SUBJECT no
Contrato de Atributos guia e clique em Avançar.
-
Clique em Mapear nova instância do adaptador no Mapeamento de fonte de autenticação.
-
Selecione um Instância do adaptador e clique
Seguinte. O adaptador deve incluir o endereço de e-mail do usuário.
-
Selecione os
Use apenas os valores do contrato do adaptador na asserção SAML opção no Método de mapeamento guia e clique
Seguinte.
-
Selecione sua instância do adaptador como
fonte e o e-mail como o Valor
na Atribuir cumprimento do contrato tabulação e clique Seguinte.
-
(Opcional) Selecione quaisquer condições de autorização que você desejar em
Critérios de Emissão guia e clique
Seguinte.
- Clique Pronto
na Resumo.
-
Clique Seguinte na
Mapeamento de fonte de autenticação aba.
- Clique Pronto
na guia Resumo.
-
Clique Seguinte na
Criação de Asserções
-
Navegue até a guia Configurações de protocolo do assistente SSO do navegador e clique em Configurar configurações de protocolo.
-
Selecione POST para Confeção e especifique o login único URL do ponto final no campo URL do ponto de extremidade no
URL do Serviço de Asserção ao Consumidor Clique
Seguinte.
-
Selecionar POST na
Ligações SAML permitidas guia e clique
Seguinte.
-
Selecione suas políticas de assinatura desejadas para afirmações sobre
Política de Assinatura guia e clique Seguinte.
-
Selecione a política de criptografia desejada para asserções no
Política de Criptografia guia e clique Seguinte.
-
Clique Pronto
na
Resumo das configurações do protocolo aba.
-
Navegue até a Credenciais e clique no
Configurar credenciais. Você será redirecionado para o
Credenciais assistente de configuração.
-
Selecione o Certificado de Assinatura a ser usado com o serviço de Logon Único e selecione Incluir o certificado no elemento de assinatura na aba Configurações de Assinatura Digital. Clique em Concluído.
- Clique Pronto
na Resumo.
-
Clique Seguinte na Credenciais.
-
Selecionar Ativo para o
status da conexão na
Ativação e Resumo guia e clique
Economize.
-
Agora, navegue até o painel de administração do usuário do Ping Federate, Identity Provide.
-
Clique Gerenciar tudo para Conexões SP.
-
Clique Exportar metadados para a conexão do provedor de serviço desejado.
-
Clique Exportar na
Exportação e Resumo guia e clique
Feito.
3. Configurar o aplicativo Blazor SAML como Provedor de Serviços
Há duas maneiras detalhadas abaixo com as quais você pode configurar os metadados do seu provedor de identidade SAML no aplicativo.
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 aplicativo usando o
Carregar metadados do IDP opção.
- Você pode consultar a captura de tela abaixo:
-
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.
4. Testando SAML SSO
-
Clique no Configuração de Teste botão para testar se a configuração SAML que você fez está correta.
-
A captura de tela abaixo mostra um resultado bem-sucedido. Clique em
Integração SSO para continuar com a integração do SSO.
-
Se você estiver enfrentando algum erro no aplicativo, será exibida uma janela semelhante à abaixo.
- Para solucionar o erro, siga os passos abaixo:
-
Debaixo
Resolução de problemas
guia, ative a alternância para receber os logs do plugin.
-
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.
5. Mapeamento de Atributos
-
Depois de testar a configuração, mapeie os atributos do seu aplicativo com os atributos do Provedor de Identidade (IdP).
-
No plugin gratuito você pode configurar apenas NameID
-
Nota: Todos os atributos mapeados serão armazenados nas reivindicações para que você possa acessá-los em seu aplicativo.
6. Código de Integração
-
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 do SSO funcionaria em seu aplicativo Blazor.
-
Basta copiar e colar esse trecho de código onde você quiser acessar os atributos do usuário.
-
Observação:Este middleware de teste suporta apenas informações do usuário em reivindicações, recuperando informações do usuário na sessão e cabeçalhos está disponível no 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;
}
var identity = (ClaimsIdentity)User.Identity;
IEnumerable claims = identity.Claims;
string mobileNumber = identity.FindFirst("mobileNumber")?.Value;
}
Observação: Todos os atributos mapeados serão armazenados nas reivindicações para serem acessados em seu aplicativo.
Se você precisar de alguma ajuda em relação ao código de integração, entre em contato conosco em
aspnetsupport@xecurify.com
7. Configurações de login
- Passe o mouse sobre Selecionar ações e clique em Copiar link SSO.
-
Use o seguinte URL como um link no aplicativo de onde você deseja executar o SSO:
https://blazor-application-base-url/?ssoaction=login
-
Por exemplo, você pode usá-lo como:
<a href=”https://blazor-application-base-url/?ssoaction=login”>Log
in</a>
8. Configurações de logout
-
Use a seguinte URL como um link para seu aplicativo de onde você deseja executar o SLO:
https://blazor-application-base-url/?ssoaction=logout
-
Por exemplo, você pode usá-lo como:
<a href=”https://blazor-application-base-url/?ssoaction=logout”>Log
out</a>
Para configurar seu IDP, você pode encontrar os metadados do provedor de serviços no arquivo appsetting.json. Para metadados do SP, consulte a captura de tela abaixo:
Desde miniLaranja seção, copie spendityid, acsurl e forneça à equipe do seu provedor de identidade.
-
Depois que os metadados do provedor de serviços forem configurados no IdP, você receberá o arquivo de metadados do IdP ou a URL de metadados ou URLs de metadados como ID da entidade do IdP, URL de SSO do IdP etc.
-
Para configurar seus metadados IDP, navegue até
appsettings.json arquivo. Você encontrará as seguintes configurações na seção JSON do miniorange
-
Para configurar seu IDP diretamente, navegue até
appsettings.json arquivo.
-
Configure os metadados fornecidos apropriados e salve as configurações.
| certificado_idp |
Insira o certificado IDP neste campo |
| amargo |
Insira o URL do SSO neste campo |
| idp_emissor |
Insira o emissor do IDP neste campo |
Mapeamento de Atributos
-
Mapeie os atributos do seu aplicativo com os atributos do provedor de identidade (IDP).
-
Observação: Todos os atributos mapeados serão armazenados na sessão para que você possa acessá-los em seu aplicativo.
Código de Integração
-
Basta copiar e colar o trecho de código onde você quiser acessar os atributos do usuário.
-
Observação: Todos os atributos mapeados serão armazenados na sessão para que você possa acessá-los em seu aplicativo.
string name="";
string claimtype="";
string claimvalue="";
if(User.Identity.IsAuthenticated) {
name= User.Identity.Name;
foreach( var claim in User.Claims) {
claimtype = claim.Type;
claimValue = claim.Value;
}
}
Você pode configurar o aplicativo Blazor SAML 2.0 Single Sign-On (SSO) com qualquer Provedor de Identidade, como
ADFS, Microsoft Entra ID (antigo 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. Verifique a lista de provedores de identidade
aqui..
Recursos adicionais
Precisa de ajuda?
Não consegue encontrar seu provedor de identidade? Envie-nos um e-mail para
aspnetsupport@xecurify.com
e ajudaremos você a configurar o SSO com seu IDP e forneceremos orientação rápida (por e-mail/reunião) sobre suas necessidades, e nossa equipe ajudará você a selecionar a melhor solução/plano adequado de acordo com suas necessidades.