Compartilhar via


Tutorial: Configurar o Azure Active Directory B2C com o BlokSec para autenticação sem senha

Importante

A partir de 1º de maio de 2025, o Azure AD B2C não estará mais disponível para compra para novos clientes. Saiba mais em nossas perguntas frequentes.

Antes de começar

O Azure Active Directory B2C tem dois métodos para definir interações do usuário com aplicativos: fluxos de usuário predefinidos ou políticas personalizadas configuráveis.

Observação

No Azure Active Directory B2C, as políticas personalizadas abordam principalmente cenários complexos. Para a maioria dos cenários, recomendamos fluxos de usuário internos.
Veja a visão geral de fluxos de usuário e políticas personalizadas

Azure AD B2C e BlokSec

Saiba como integrar a autenticação do Azure AD B2C (Azure Active Directory B2C) ao Roteador de Identidade Descentralizado blokSec. A solução BlokSec simplifica a entrada do usuário com autenticação sem senha e autenticação multifator sem token. A solução protege os clientes contra ataques relacionados à identidade, como recheio de senha, phishing e man-in-the-middle.

Para saber mais, acesse bloksec.com: BlokSec Technologies Inc.

Descrição do cenário

A integração do BlokSec inclui os seguintes componentes:

  • Azure AD B2C – IdP (servidor de autorização e provedor de identidade) para aplicativos B2C
  • Roteador de identidade descentralizada do BlokSec – Gateway para serviços que aplicam o BlokSec DIaaS para rotear solicitações de autenticação e autorização para aplicativos de PIdP (provedor de identidade pessoal) do usuário
    • É um provedor de identidade do OpenID Connect (OIDC) no Azure AD B2C
  • Aplicativo móvel baseado em SDK do BlokSec – PIdP do usuário no cenário de autenticação descentralizada.

O diagrama de arquitetura a seguir ilustra o fluxo de inscrição e entrada na implementação da solução BlokSec.

Diagrama do fluxo de inscrição e entrada na implementação da solução BlokSec.

  1. O usuário entra em um aplicativo do Azure AD B2C e é encaminhado para a política de entrada e inscrição do Azure AD B2C
  2. O Azure AD B2C redireciona o usuário para o roteador de identidade descentralizado do BlokSec usando o fluxo de código de autorização OIDC.
  3. O roteador BlokSec envia uma notificação por push para o aplicativo móvel do usuário com detalhes da solicitação de autenticação e autorização.
  4. O usuário analisa o desafio de autenticação. Um usuário aceito é solicitado a obter biometria, como impressão digital ou exame facial.
  5. A resposta é assinada digitalmente com a chave digital exclusiva do usuário. A resposta de autenticação fornece prova de posse, presença e consentimento. A resposta retorna ao roteador.
  6. O roteador verifica a assinatura digital em relação à chave pública exclusiva imutável do usuário armazenada em um ledger distribuído. O roteador responde ao Azure AD B2C com o resultado da autenticação.
  7. O usuário tem acesso concedido ou negado.

Habilitar o BlokSec

  1. Vá para bloksec.com e selecione Solicitar um locatário de demonstração .
  2. No campo de mensagem, indique que você deseja se integrar ao Azure AD B2C.
  3. Baixe e instale o aplicativo móvel yuID do BlokSec gratuito.
  4. Depois que o locatário de demonstração é preparado, chega um email.
  5. No dispositivo móvel com o aplicativo BlokSec, selecione o link para registrar sua conta de administrador com seu aplicativo yuID.

Pré-requisitos

Para começar, você precisa do seguinte:

Veja também, Tutorial: Criar fluxos de usuário e políticas personalizadas no Azure AD B2C

Criar um registro de aplicativo no BlokSec

No email de registro da conta do BlokSec, localize o link para o console de administração do BlokSec.

  1. Entre no console de administração do BlokSec.
  2. No painel principal, selecione Adicionar Aplicativo > Criar Personalizado.
  3. Para Nome, insira o Azure AD B2C ou um nome de aplicativo.
  4. Para o tipo SSO, selecione OIDC.
  5. Para o URI do Logotipo, insira um link para a imagem do logotipo.
  6. Para URIs de Redirecionamento, use https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp. Por exemplo, https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp. Para um domínio personalizado, insira https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp.
  7. Em URIs de redirecionamento pós-saída, insira https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/{policy}/oauth2/v2.0/logout.
  8. Selecione o aplicativo Azure AD B2C criado para abrir a configuração do aplicativo.
  9. Selecione Gerar Segredo do Aplicativo.

Saiba mais: enviar uma solicitação de saída.

Observação

Você precisa da ID do aplicativo e do segredo do aplicativo para configurar o IdP (provedor de identidade) no Azure AD B2C.

Adicionar um novo provedor de identidade no Azure AD B2C

Para obter as instruções a seguir, use o diretório que contém seu locatário do Azure AD B2C.

  1. Entre no Portal do Azure pelo menos como Administrador de Política de IEF B2C do seu locatário do Azure AD B2C.
  2. Na barra de ferramentas do portal, selecione Diretórios + assinaturas.
  3. Nas configurações do Portal, página Diretórios + assinaturas , na lista de nomes do Diretório , localize o diretório do Azure AD B2C.
  4. Selecione Alternar.
  5. No canto superior esquerdo do portal do Azure, selecione Todos os serviços.
  6. Pesquise e selecione Azure AD B2C.
  7. Navegue até os Painel>Azure Active Directory B2C>Provedores de identidade.
  8. Selecione Novo Provedor do OpenID Connect.
  9. Selecione Adicionar.

Configurar um provedor de identidade

  1. Selecionar o tipo > de provedor de identidade OpenID Connect
  2. Para Nome, insira BlokSec yuID Sem senha ou outro nome.
  3. Para URL de Metadados, insira https://api.bloksec.io/oidc/.well-known/openid-configuration.
  4. Para Client IDV, insira a ID do aplicativo a partir da interface administrativa do BlokSec.
  5. Para o Segredo do Cliente, insira o segredo do aplicativo na interface do usuário do administrador do BlokSec.
  6. Em Escopo, selecione perfil de email do OpenID.
  7. Para o tipo de resposta, selecione Código.
  8. Para dica de domínio, selecione yuID.
  9. Selecione OK.
  10. Selecione Mapear as declarações desse provedor de identidade.
  11. Para ID de Usuário, selecione sub.
  12. Para o nome de exibição, selecione o nome.
  13. Para Nome dado, use given_name.
  14. Para Sobrenome, use family_name.
  15. Em Email, use email.
  16. Clique em Salvar.

Registro de usuário

  1. Entre no console de administração do BlokSec com a credencial fornecida.
  2. Navegue até o aplicativo Azure AD B2C criado anteriormente.
  3. No canto superior direito, selecione o ícone de engrenagem .
  4. Selecione Criar Conta.
  5. Em Criar Conta, insira informações do usuário. Observe o nome da conta.
  6. Selecione Enviar.

O usuário recebe um email de registro de conta no endereço de email fornecido. Instrua o usuário a selecionar o link de registro no dispositivo móvel com o aplicativo yuID blokSec.

Criar uma política de fluxo de usuário

Para obter as instruções a seguir, verifique se o BlokSec é um novo IdP (provedor de identidade OIDC).

  1. Em seu locatário do Azure AD B2C, em Políticas, selecione Fluxos de usuário.
  2. Selecione Novo fluxo de usuário.
  3. Selecione Inscreva-se e entre>Versão>Criar.
  4. Insira uma política Nome.
  5. Na seção provedores de identidade, selecione o provedor de identidade blokSec criado.
  6. Para a Conta Local, selecione Nenhum. Essa ação desabilita a autenticação baseada em email e senha.
  7. Selecionar Executar fluxo de usuário
  8. No formulário, insira a URL de Resposta, como https://jwt.ms.
  9. O navegador é redirecionado para a página de entrada do BlokSec.
  10. Insira o nome da conta do registro do usuário.
  11. O usuário recebe uma notificação por push no dispositivo móvel com o aplicativo yuID blokSec.
  12. O usuário abre a notificação e o desafio de autenticação é exibido.
  13. Se a autenticação for aceita, o navegador redirecionará o usuário para a URL de resposta.

Observação

No Azure Active Directory B2C, as políticas personalizadas abordam principalmente cenários complexos. Para a maioria dos cenários, recomendamos fluxos de usuário internos.
Veja a visão geral de fluxos de usuário e políticas personalizadas

Criar uma chave de política

Armazene o segredo do cliente que você anotou no seu locatário do Azure AD B2C. Para obter as instruções a seguir, use o diretório com o locatário do Azure AD B2C.

  1. Entre no portal do Azure.
  2. Na barra de ferramentas do portal, selecione Diretórios + assinaturas.
  3. Nas configurações do Portal, página Diretórios + assinaturas , na lista de nomes do Diretório , localize o diretório do Azure AD B2C.
  4. Selecione Alternar.
  5. No canto superior esquerdo do portal do Azure, selecione Todos os serviços
  6. Pesquise e selecione Azure AD B2C.
  7. Na página Visão geral, selecione Identity Experience Framework.
  8. Selecione Chaves de Política.
  9. Selecione Adicionar.
  10. Para Opções, escolha Manual.
  11. Insira um Nome de política para a chave de política. Por exemplo, BlokSecAppSecret. O prefixo B2C_1A_ é adicionado ao nome da chave.
  12. Em Segredo, insira o segredo do cliente que você anotou.
  13. Para Uso de chave, selecione Assinatura.
  14. Selecione Criar.

Configurar o BlokSec como um provedor de identidade

Para permitir que os usuários entrem usando a identidade descentralizada do BlokSec, defina o BlokSec como um provedor de declarações. Essa ação garante que o Azure AD B2C se comunique com ele através de um endpoint. O Azure AD B2C usa declarações de ponto de extremidade para verificar se os usuários autenticam a identidade usando a biometria, como impressão digital ou verificação facial.

Para definir o BlokSec como um provedor de declarações, adicione-o ao elemento ClaimsProvider no arquivo de extensão de política.

  1. Abra o TrustFrameworkExtensions.xml.

  2. Localize o elemento ClaimsProviders. Se o elemento não aparecer, adicione-o sob o elemento raiz.

  3. Para adicionar um novo ClaimsProvider:

    <ClaimsProvider>
      <Domain>bloksec</Domain>
      <DisplayName>BlokSec</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="BlokSec-OpenIdConnect">
          <DisplayName>BlokSec</DisplayName>
          <Description>Login with your BlokSec decentriled identity</Description>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="METADATA">https://api.bloksec.io/oidc/.well-known/openid-configuration</Item>
            <!-- Update the Client ID below to the BlokSec Application ID -->
            <Item Key="client_id">00001111-aaaa-2222-bbbb-3333cccc4444</Item>
            <Item Key="response_types">code</Item>
            <Item Key="scope">openid profile email</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
            <Item Key="DiscoverMetadataByTokenIssuer">true</Item>
            <Item Key="ValidTokenIssuerPrefixes">https://api.bloksec.io/oidc</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_BlokSecAppSecret" />
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Defina client_id para a ID do aplicativo do registro do aplicativo.

  5. Clique em Salvar.

Adicione um percurso de usuário

Use as instruções a seguir se o provedor de identidade estiver configurado, mas não em nenhuma página de entrada. Se você não tiver um percurso personalizado do usuário, copie um modelo de percurso do usuário.

  1. No pacote inicial, abra o TrustFrameworkBase.xml arquivo.
  2. Localize e copie o conteúdo do elemento UserJourneys que inclui ID=SignUpOrSignIn.
  3. Abra o TrustFrameworkExtensions.xml.
  4. Localize o elemento UserJourneys . Se o elemento não aparecer, adicione um.
  5. Cole o conteúdo do elemento UserJourney copiado como filho do elemento UserJourneys .
  6. Renomeie a ID do percurso do usuário. Por exemplo, ID=CustomSignUpSignIn.

Adicione o provedor de identidade a um percurso de usuário

Se você tem um percurso de usuário, adicione a ele o novo provedor de identidade. Primeiro, adicione um botão de entrada e vincule-o a uma ação, que é o perfil técnico que você criou.

  1. No percurso do usuário, localize o elemento da etapa de orquestração que inclui Type=CombinedSignInAndSignUp ou Type=ClaimsProviderSelection. Normalmente é a primeira etapa de orquestração. O elemento ClaimsProviderSelections contém uma lista de provedores de identidade para entrada do usuário. A ordem dos elementos controla a ordem dos botões de entrada que o usuário vê.
  2. Adicione um elemento XML ClaimsProviderSelection.
  3. Defina o valor de TargetClaimsExchangeId com um nome amigável.
  4. Na próxima etapa de orquestração, adicione um elemento ClaimsExchange.
  5. Defina a ID como o valor da ID de troca de declarações de destino.
  6. Atualize o valor de TechnicalProfileReferenceId para a ID do perfil técnico criado.

O XML a seguir demonstra as duas primeiras etapas de orquestração de percurso do usuário com o provedor de identidade:

<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
  <ClaimsProviderSelections>
    ...
    <ClaimsProviderSelection TargetClaimsExchangeId="BlokSecExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="BlokSecExchange" TechnicalProfileReferenceId="BlokSec-OpenIdConnect" />
  </ClaimsExchanges>
</OrchestrationStep>

Configurar a política de terceira parte confiável

A política de terceira parte confiável, por exemplo SignUpSignIn.xml, especifica o percurso do usuário que o Azure AD B2C executa.

  1. Localize o elemento DefaultUserJourney na terceira parte confiável.
  2. Atualize a ReferenceId para corresponder à ID do percurso do usuário, na qual você adicionou o provedor de identidade.

No exemplo a seguir, para o percurso do CustomSignUpOrSignIn usuário, a ReferenceId é definida como CustomSignUpOrSignIn.

<RelyingParty>
  <DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
  ...
</RelyingParty>

Carregar a política personalizada

Para obter as instruções a seguir, use o diretório com o locatário do Azure AD B2C.

  1. Entre no portal do Azure.
  2. Na barra de ferramentas do portal, selecione os Diretórios + assinaturas.
  3. Nas configurações do Portal, página Diretórios + assinaturas , na lista de nomes do Diretório , localize o diretório do Azure AD B2C
  4. Selecione Alternar.
  5. No portal do Azure, pesquise e selecione Azure AD B2C.
  6. Em Políticas, selecione Identity Experience Framework.
  7. Selecione Carregar Política Personalizada.
  8. Carregue os dois arquivos de política que você alterou na seguinte ordem:
  • Política de extensão, por exemplo TrustFrameworkExtensions.xml
  • Política de terceira parte confiável, como SignUpSignIn.xml

Teste a política personalizada

  1. Selecione a política de terceira parte confiável, por exemplo, B2C_1A_signup_signin.
  2. Para o Aplicativo, selecione um aplicativo Web que você registrou.
  3. A URL de Resposta aparece como https://jwt.ms.
  4. Selecione Executar agora.
  5. Na página de inscrição ou entrada, selecione o Google para entrar com a conta do Google.
  6. O navegador é redirecionado para https://jwt.ms. Consulte o conteúdo do token retornado pelo Azure AD B2C.

Saiba mais: Tutorial: registrar um aplicativo Web no Azure Active Directory B2C

Próximas etapas