O aplicativo Blazor SAML Single Sign-On (SSO) permite habilitar o Single Sign-On SAML para seus aplicativos Blazor. Com o Single Sign-On, 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 Single Sign-On (SSO) entre o Blazor e o Okta, considerando o Okta como IdP. Para saber mais sobre os recursos que oferecemos para o SSO do Blazor, clique 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 o Okta 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 o Okta como Provedor de Identidade
-
Sob o Configurações de Plugin guia, selecione Octa 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:
-
Faça o login no
Console do desenvolvedor Okta.
-
No site do desenvolvedor Okta, navegue até Guia Aplicativos e selecione
Aplicações.
-
Clique no Criar integração de aplicativo botão para criar um novo aplicativo.
- Clique no SAML2.0.
-
In Configurações gerais guia, digite Nome do aplicativo e clique em Seguinte botão.
- Em Configurações SAML, insira o seguinte:
| URL de login único |
Insira a URL do ACS (AssertionConsumerService) na guia de metadados do Provedor de Serviços do middleware.
|
| URI de público-alvo (ID da entidade SP) |
Insira o ID da Entidade SP/Emissor na guia Metadados do Provedor de Serviços do middleware.
|
-
configurar Instruções de Atributos de Grupo (Opcional) e clique em
Seguinte botão.
-
Se você integrou seu Active Directory no Okta e deseja mapear os grupos do AD, certifique-se de ter adicionado as UOs usadas para importar grupos. Você também precisará mapear o membro do atributo na configuração do diretório integrado.
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:
Na seção miniOrange , copie spentityid e acsurl e forneça-os à 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 (anteriormente 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 . Confira a lista de provedores de identidade aqui.
Recursos adicionais
Precisa de ajuda?
Não consegue encontrar seu provedor de identidade? Envie um e-mail para aspnetsupport@xecurify.com e ajudaremos você a configurar o SSO com seu provedor de identidade. Além disso, oferecemos orientação rápida (por e-mail ou reunião) sobre suas necessidades e nossa equipe ajudará você a selecionar a solução/plano mais adequado.