Partilhar via


Tutorial: Configurar o Azure Ative Directory B2C com 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 nas nossas Perguntas Frequentes.

Antes de começar

O Azure Ative 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 Ative Directory B2C, as políticas personalizadas abordam principalmente cenários complexos. Para a maioria dos cenários, recomendamos fluxos de usuário internos.
Consulte Visão geral de fluxos de usuários e políticas personalizadas

Azure AD B2C e BlokSec

Saiba como integrar a autenticação do Azure Ative Directory B2C (Azure AD B2C) com o BlokSec Decentralized Identity Router. A solução BlokSec simplifica o login 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 preenchimento de senhas, phishing e man-in-the-middle.

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

Descrição do cenário

A integração BlokSec inclui os seguintes componentes:

  • Azure AD B2C – servidor de autorização e provedor de identidade (IdP) para aplicativos B2C
  • BlokSec Decentralized Identity Router – gateway para serviços que aplicam DIaaS BlokSec para rotear solicitações de autenticação e autorização para aplicativos PIdP (Personal Identity Provider) do usuário
    • É um provedor de identidade OpenID Connect (OIDC) no Azure AD B2C
  • Aplicação móvel baseada no SDK BlokSec – PIdP do utilizador no cenário de autenticação descentralizada.
    • Se você não estiver usando o SDK do BlokSec, vá para o Google Play para obter o yuID BlokSec gratuito

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 entrada e inscrição 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 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 fornecer biometria, como impressão digital ou varredura 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 contra a chave pública exclusiva e imutável do utilizador, armazenada num registo distribuído. O roteador responde ao Azure AD B2C com o resultado da autenticação.
  7. O acesso é concedido ou negado ao usuário.

Ativar BlokSec

  1. Vá para bloksec.com e selecione Solicitar uma demonstração.
  2. No campo de mensagem, indique que deseja integrar com o Azure AD B2C.
  3. Baixe e instale o aplicativo móvel gratuito BlokSec yuID.
  4. Depois que o locatário de demonstração é preparado, um e-mail chega.
  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:

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

Criar um registro de aplicativo no BlokSec

No e-mail de registro da conta da BlokSec, encontre o link para o console de administração da BlokSec.

  1. Faça login no console de administração do BlokSec.
  2. No painel principal, selecione Adicionar Aplicação > Criar Personalizada.
  3. Em Nome, insira Azure AD B2C ou um nome de aplicativo.
  4. Para Tipo de SSO, selecione OIDC.
  5. Para URI de 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, digite https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp.
  7. Para URIs de redirecionamento pós-logout, digite 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: Envie uma solicitação de logout.

Observação

Você precisa da ID do aplicativo e do segredo do aplicativo para configurar o provedor de identidade (IdP) 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 como, no mínimo, Administrador de Políticas do IEF B2C do locatário Azure AD B2C.
  2. Na barra de ferramentas do portal, selecione Diretórios + assinaturas.
  3. Na página Configurações do portal, Diretórios + assinaturas , na lista Nome do diretório , localize o diretório do Azure AD B2C.
  4. Selecione Trocar.
  5. No canto superior esquerdo do portal do Azure, selecione Todos os serviços.
  6. Procure e selecione Azure AD B2C.
  7. Navegue até Painel>Azure Active Directory B2C>Provedores de identidade.
  8. Selecione Novo Provedor OpenID Connect.
  9. Selecione Adicionar.

Configurar um provedor de identidade

  1. Selecione o tipo > de provedor de identidade OpenID Connect
  2. Em Nome, digite BlokSec yuID Passwordless ou outro nome.
  3. Para URL de metadados, digite https://api.bloksec.io/oidc/.well-known/openid-configuration.
  4. Para IDV do cliente, insira o ID do aplicativo na interface do usuário admin do BlokSec.
  5. Em Segredo do Cliente, insira o Segredo do aplicativo na interface do usuário admin do BlokSec.
  6. Em Escopo, selecione Perfil de e-mail OpenID.
  7. Em Tipo de resposta, selecione Código.
  8. Para Dica de domínio, selecione yuID.
  9. Selecione OK.
  10. Selecione para mapear as declarações deste provedor de identidade.
  11. Em ID de usuário, selecione sub.
  12. Em Nome para exibição, selecione nome.
  13. Para nome próprio, use nome_proprio.
  14. Para Sobrenome, use nome_familia.
  15. Para de e-mail , use e-mail.
  16. Selecione Guardar.

Registo de utilizador

  1. Faça login 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 as informações do usuário. Anote o nome da conta.
  6. Selecione Enviar.

O usuário recebe um e-mail de registro de conta no endereço de e-mail 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 BlokSec é um novo provedor de identidade OIDC (IdP).

  1. Em seu locatário do Azure AD B2C, em Políticas, selecione Fluxos de usuário.
  2. Selecione Novo fluxo de utilizador.
  3. Selecione Inscrever-se e iniciar sessão>Versão>Criar.
  4. Insira uma política Nome.
  5. Na seção provedores de identidade, selecione o provedor de identidade BlokSec criado.
  6. Em Conta local, selecione Nenhuma. Esta ação desativa a autenticação baseada em e-mail e senha.
  7. Selecione Executar fluxo de usuário
  8. No formulário, insira o URL de resposta, como https://jwt.ms.
  9. O navegador é redirecionado para a página de login BlokSec.
  10. Introduza o nome da conta do registo de utilizador.
  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 aparece.
  13. Se a autenticação for aceite, o navegador redireciona o utilizador para o URL de resposta.

Observação

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

Criar uma chave de política

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

  1. Inicie sessão no portal Azure.
  2. Na barra de ferramentas do portal, selecione Diretórios + assinaturas.
  3. Na página Configurações do portal, Diretórios + assinaturas , na lista Nome do diretório , localize o diretório do Azure AD B2C.
  4. Selecione Trocar.
  5. No canto superior esquerdo do portal do Azure, selecione Todos os serviços
  6. Procure 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 as Opções , escolha Manual .
  11. Insira um Nome 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 o uso da 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 BlokSec, defina BlokSec como um provedor de declarações. Esta ação garante que o Azure AD B2C se comunique com ele através de um endpoint. O Azure AD B2C utiliza afirmações dos endpoints para verificar se os utilizadores autenticam a sua identidade usando biometria, como impressão digital ou reconhecimento facial.

Para definir 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. Encontre 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 o ID do aplicativo a partir do registro do aplicativo.

  5. Selecione Guardar.

Adicionar uma jornada do utilizador

Utilize as instruções abaixo se o provedor de identidade estiver configurado, mas não em qualquer página de acesso. Se não tens um percurso de utilizador personalizado, copia um percurso de utilizador de modelo.

  1. No pacote inicial, abra o arquivo TrustFrameworkBase.xml.
  2. Localize e copie o conteúdo do elemento UserJourneys que inclui ID=SignUpOrSignIn.
  3. Abra o TrustFrameworkExtensions.xml.
  4. Encontre 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 o ID da jornada do usuário. Por exemplo, ID=CustomSignUpSignIn.

Adicionar o provedor de identidade a um percurso do utilizador

Se você tiver uma jornada de usuário, adicione o novo provedor de identidade a ela. Primeiro, adicione um botão de entrada e, em seguida, vincule-o a uma ação, que é o perfil técnico que você criou.

  1. Na jornada do usuário, localize o elemento da etapa de orquestração que inclui Type=CombinedSignInAndSignUp, ou Type=ClaimsProviderSelection. Geralmente é o primeiro passo da 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 ClaimsProviderSelection elemento XML.
  3. Defina o valor de TargetClaimsExchangeId como um nome amigável.
  4. Na próxima etapa de orquestração, adicione um elemento ClaimsExchange.
  5. Defina o Id como o valor do ID de troca de declarações de destino.
  6. Atualize o valor de TechnicalProfileReferenceId para a ID do perfil técnico que você criou.

O XML a seguir demonstra as duas primeiras etapas de orquestração da jornada 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 da parte confiadora

A política da parte confiável, por exemplo, SignUpSignIn.xml, especifica a experiência do utilizador que o Azure AD B2C executa.

  1. Encontre o elemento DefaultUserJourney na parte confiável.
  2. Atualize o ReferenceId para corresponder ao ID de trajetória do utilizador, em que adicionou o fornecedor de identidade.

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

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

Carregar a política personalizada

Para as instruções a seguir, use o diretório associado ao seu inquilino do Azure AD B2C.

  1. Inicie sessão no portal Azure.
  2. Na barra de ferramentas do portal, selecione o Diretórios + Subscrições.
  3. Na página Configurações do portal, Diretórios + assinaturas , na lista Nome do diretório , localize seu diretório do Azure AD B2C
  4. Selecione Trocar.
  5. No portal do Azure, procure 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 alterados na seguinte ordem:
  • Política de extensão, por exemplo TrustFrameworkExtensions.xml
  • Política de parte confiável, como SignUpSignIn.xml

Testar a política personalizada

  1. Selecione sua política de terceira parte confiável, por exemplo B2C_1A_signup_signin.
  2. Para Application, selecione um aplicativo Web que você registrou.
  3. O URL de resposta aparece como https://jwt.ms.
  4. Selecione Executar agora.
  5. Na página de inscrição ou login, selecione Google para fazer login 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 Ative Directory B2C

Próximos passos