Partilhar via


Tutorial: Configurar o Azure Active Directory B2C com BlokSec para autenticação sem palavra-passe

Antes de começar

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

Nota

No Azure Active Directory B2C, as políticas personalizadas abordam principalmente cenários complexos. Para a maioria dos cenários, recomendamos fluxos de utilizador incorporados.
Veja Descrição geral dos fluxos de utilizador e das políticas personalizadas

Azure AD B2C e BlokSec

Saiba como integrar a autenticação B2C (Azure AD B2C) do Azure Active Directory com o Router de Identidade Descentralizada blokSec. A solução BlokSec simplifica o início de sessão do utilizador com autenticação sem palavra-passe e autenticação multifator sem tokens. A solução protege os clientes de ataques relacionados com identidades, como o recheio de palavras-passe, phishing e man-in-the-middle.

Para saber mais, aceda a bloksec.com: BlokSec Technologies Inc.

Descrição do cenário

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

  • Azure AD B2C – servidor de autorização e fornecedor de identidade (IdP) para aplicações B2C
  • BlokSec Decentralized Identity Router – gateway para serviços que aplicam BlokSec DIaaS para encaminhar pedidos de autenticação e autorização para aplicações do Fornecedor de Identidade Pessoal (PIdP) do utilizador
    • É um fornecedor de identidade do OpenID Connect (OIDC) no Azure AD B2C
  • Aplicação móvel baseada em BlokSec SDK – PIdP do utilizador no cenário de autenticação descentralizada.
    • Se não estiver a utilizar o SDK BlokSec, aceda ao Google Play para obter o yuID de BlokSec gratuito

O seguinte diagrama de arquitetura ilustra o fluxo de inscrição e início de sessão na implementação da solução BlokSec.

Diagrama do fluxo de inscrição e início de sessão na implementação da solução BlokSec.

  1. O utilizador inicia sessão numa aplicação B2C Azure AD e é reencaminhado para Azure AD política de início de sessão e inscrição B2C
  2. Azure AD B2C redireciona o utilizador para o router de identidade descentralizado BlokSec com o fluxo de código de autorização OIDC.
  3. O router BlokSec envia uma notificação push para a aplicação móvel do utilizador com detalhes do pedido de autenticação e autorização.
  4. O utilizador revê o desafio de autenticação. É pedido a um utilizador aceite biometria, como impressão digital ou análise facial.
  5. A resposta é assinada digitalmente com a chave digital exclusiva do utilizador. A resposta de autenticação fornece prova de posse, presença e consentimento. A resposta regressa ao router.
  6. O router verifica a assinatura digital relativamente à chave pública exclusiva imutável do utilizador armazenada num livro razão distribuído. O router responde ao Azure AD B2C com o resultado da autenticação.
  7. É concedido ou negado acesso ao utilizador.

Ativar BlokSec

  1. Aceda a bloksec.com e selecione Pedir um inquilino de demonstração .
  2. No campo de mensagem, indique que pretende integrar com Azure AD B2C.
  3. Transfira e instale a aplicação móvel gratuita BlokSec yuID.
  4. Depois de o inquilino de demonstração estar preparado, é recebido um e-mail.
  5. No dispositivo móvel com a aplicação BlokSec, selecione a ligação para registar a sua conta de administrador na sua aplicação yuID.

Pré-requisitos

Para começar, precisa do seguinte:

Veja também Tutorial: Criar fluxos de utilizador e políticas personalizadas no Azure AD B2C

Criar um registo de aplicação no BlokSec

No e-mail de registo da conta do BlokSec, localize a ligação para a consola de administração do BlokSec.

  1. Inicie sessão na consola de administração do BlokSec.
  2. No dashboard principal, selecione Adicionar Criação de Aplicação > Personalizada.
  3. Em Nome, introduza Azure AD B2C ou um nome de aplicação.
  4. Para tipo de SSO, selecione OIDC.
  5. Para o URI do Logótipo, introduza uma ligação para a imagem do logótipo.
  6. Para URIs de Redirecionamento, utilize 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, introduza https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp.
  7. Para Publicar URIs de redirecionamento de início de sessão, introduza https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/{policy}/oauth2/v2.0/logout.
  8. Selecione o Azure AD aplicação B2C criado para abrir a configuração da aplicação.
  9. Selecione Gerar Segredo da Aplicação.

Saiba mais: Enviar um pedido de início de sessão.

Nota

Precisa do ID da aplicação e do segredo da aplicação para configurar o fornecedor de identidade (IdP) no Azure AD B2C.

Adicionar um novo fornecedor de identidade no Azure AD B2C

Para obter as seguintes instruções, utilize o diretório que contém a sua Azure AD inquilino B2C.

  1. Inicie sessão no portal do Azure como Administrador Global do seu inquilino Azure AD B2C.
  2. Na barra de ferramentas do portal, selecione Diretórios + subscrições.
  3. Na página Definições do portal, Diretórios + subscrições, na lista Nome do diretório, localize a sua Azure AD diretório B2C.
  4. Selecione Mudar.
  5. No canto superior esquerdo do portal do Azure, selecione Todos os serviços.
  6. Procure e selecione Azure AD B2C.
  7. Navegue para FornecedoresdeIdentidade B2C >do Azure Active Directory do Dashboard>.
  8. Selecione Novo Fornecedor de Ligação OpenID.
  9. Selecione Adicionar.

Configurar um fornecedor de identidade

  1. Selecionar Tipo de fornecedor > de identidade OpenID Connect
  2. Em Nome, introduza BlokSec yuID Sem palavra-passe ou outro nome.
  3. Para o URL de Metadados, introduza https://api.bloksec.io/oidc/.well-known/openid-configuration.
  4. Para O IDV do Cliente, introduza o ID da aplicação a partir da IU do administrador do BlokSec.
  5. Para Segredo do Cliente, introduza o segredo da aplicação da IU de administração do BlokSec.
  6. Em Âmbito, selecione Perfil de e-mail OpenID.
  7. Para Tipo de resposta, selecione Código.
  8. Para Sugestão de domínio, selecione yuID.
  9. Selecione OK.
  10. Selecione Mapear as afirmações deste fornecedor de identidade.
  11. Para ID de Utilizador, selecione sub.
  12. Em Nome a apresentar, selecione nome.
  13. Para Nome especificado, utilize given_name.
  14. Para Apelido, utilize family_name.
  15. Para Email, utilize o e-mail.
  16. Selecione Guardar.

Registo de utilizadores

  1. Inicie sessão na consola de administração do BlokSec com a credencial fornecida.
  2. Navegue para o Azure AD aplicação B2C criada anteriormente.
  3. No canto superior direito, selecione o ícone de engrenagem .
  4. Selecione Criar Conta.
  5. Em Criar Conta, introduza as informações do utilizador. Anote o Nome da Conta.
  6. Selecione Submeter.

O utilizador recebe um e-mail de registo de conta no endereço de e-mail fornecido. Indique ao utilizador para selecionar a ligação de registo no dispositivo móvel com a aplicação BlokSec yuID.

Criar uma política de fluxo de utilizador

Para obter as seguintes instruções, confirme que BlokSec é um novo fornecedor de identidade OIDC (IdP).

  1. No seu Azure AD inquilino B2C, em Políticas, selecione Fluxos de utilizador.
  2. Selecione Novo fluxo de utilizador.
  3. Selecione Inscrever-se e inicie sessão na>Criação da Versão>.
  4. Introduza um Nome de política.
  5. Na secção fornecedores de identidade, selecione o fornecedor de identidade BlokSec criado.
  6. Em Conta Local, selecione Nenhuma. Esta ação desativa o e-mail e a autenticação baseada em palavra-passe.
  7. Selecione Executar fluxo de utilizador
  8. No formulário, introduza o URL de Resposta, como https://jwt.ms.
  9. O browser é redirecionado para a página de início de sessão blokSec.
  10. Introduza o nome da conta do registo de utilizador.
  11. O utilizador recebe uma notificação push no dispositivo móvel com a aplicação BlokSec yuID.
  12. O utilizador abre a notificação e é apresentado o desafio de autenticação.
  13. Se a autenticação for aceite, o browser redireciona o utilizador para o URL de resposta.

Nota

No Azure Active Directory B2C, as políticas personalizadas abordam principalmente cenários complexos. Para a maioria dos cenários, recomendamos fluxos de utilizador incorporados.
Veja Descrição geral dos fluxos de utilizador e das políticas personalizadas

Criar uma chave de política

Armazene o segredo do cliente que anotou no inquilino do Azure AD B2C. Para obter as seguintes instruções, utilize o diretório com o seu inquilino Azure AD B2C.

  1. Inicie sessão no portal do Azure.
  2. Na barra de ferramentas do portal, selecione Diretórios + subscrições.
  3. Na página Definições do portal, Diretórios + subscrições, na lista Nome do diretório, localize o Azure AD diretório B2C.
  4. Selecione Mudar.
  5. No canto superior esquerdo da portal do Azure, selecione Todos os serviços
  6. Procure e selecione Azure AD B2C.
  7. Na página Descrição geral , selecione Identity Experience Framework.
  8. Selecione Chaves de Política.
  9. Selecione Adicionar.
  10. Em Opções, selecione Manual.
  11. Introduza 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, introduza o segredo do cliente que anotou.
  13. Em Utilização da chave, selecione Assinatura.
  14. Selecione Criar.

Configurar BlokSec como um fornecedor de identidade

Para permitir que os utilizadores iniciem sessão com a identidade descentralizada blokSec, defina BlokSec como um fornecedor de afirmações. Esta ação garante que Azure AD B2C comunica com o mesmo através de um ponto final. Azure AD B2C utiliza afirmações de ponto final para verificar a identidade de autenticação dos utilizadores através da biometria, como a impressão digital ou a análise facial.

Para definir BlokSec como um fornecedor de afirmações, adicione-o ao elemento ClaimsProvider no ficheiro 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">00000000-0000-0000-0000-000000000000</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 da aplicação a partir do registo da aplicação.

  5. Selecione Guardar.

Adicionar um percurso de utilizador

Utilize as seguintes instruções se o fornecedor de identidade estiver configurado, mas não numa página de início de sessão. Se não tiver um percurso de utilizador personalizado, copie um percurso de utilizador de modelo.

  1. A partir do pacote de arranque, abra o TrustFrameworkBase.xml ficheiro.
  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 que copiou como subordinado do elemento UserJourneys .
  6. Mude o nome do ID de percurso do utilizador. Por exemplo, ID=CustomSignUpSignIn.

Adicionar o fornecedor de identidade a um percurso do utilizador

Se tiver um percurso de utilizador, adicione o novo fornecedor de identidade ao mesmo. Primeiro, adicione um botão de início de sessão e, em seguida, ligue-o a uma ação, que é o perfil técnico que criou.

  1. No percurso do utilizador, localize o elemento do passo de orquestração que inclui Type=CombinedSignInAndSignUpou Type=ClaimsProviderSelection. Normalmente, é o primeiro passo de orquestração. O elemento ClaimsProviderSelections contém uma lista de fornecedores de identidade para o início de sessão do utilizador. A ordem dos elementos controla a ordem dos botões de início de sessão que o utilizador vê.
  2. Adicione um elemento ClaimsProviderSelection XML.
  3. Defina o valor de TargetClaimsExchangeId como um nome amigável.
  4. No passo de orquestração seguinte, adicione um elemento ClaimsExchange .
  5. Defina o ID para o valor do ID de troca de afirmações de destino.
  6. Atualize o valor de TechnicalProfileReferenceId para o ID do perfil técnico que criou.

O XML seguinte demonstra os dois primeiros passos de orquestração do percurso do utilizador com o fornecedor 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 entidade confiadora

A política da entidade confiadora, por exemplo SignUpSignIn.xml, especifica o percurso do utilizador Azure AD B2C executa.

  1. Localize o elemento DefaultUserJourney na entidade confiadora.
  2. Atualize o ReferenceId para corresponder ao ID de percurso do utilizador, no qual adicionou o fornecedor de identidade.

No exemplo seguinte, para o percurso do CustomSignUpOrSignIn utilizador, o ReferenceId está definido como CustomSignUpOrSignIn.

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

Carregar a política personalizada

Para obter as seguintes instruções, utilize o diretório com o seu inquilino Azure AD B2C.

  1. Inicie sessão no portal do Azure.
  2. Na barra de ferramentas do portal, selecione Diretórios + subscrições.
  3. Na página Definições do portal, Diretórios + subscrições, na lista Nome do diretório, localize o Azure AD diretório B2C
  4. Selecione Mudar.
  5. Na 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 ficheiros de política que alterou pela seguinte ordem:
  • Política de extensão, por exemplo TrustFrameworkExtensions.xml
  • Política de entidade confiadora, como SignUpSignIn.xml

Testar a política personalizada

  1. Selecione a política da entidade confiadora, por exemplo B2C_1A_signup_signin.
  2. Em Aplicação, selecione uma aplicação Web que tenha registado.
  3. O URL de Resposta é apresentado como https://jwt.ms.
  4. Selecione Executar agora.
  5. Na página de inscrição ou início de sessão, selecione Google para iniciar sessão com a conta Google.
  6. O browser é redirecionado para https://jwt.ms. Veja o conteúdo do token devolvido pelo Azure AD B2C.

Saiba mais: Tutorial: Registar uma aplicação Web no Azure Active Directory B2C

Passos seguintes