Login de QR para visão geral de autenticação sem senha

Um aplicativo pode iniciar uma transação de verificação de qrlogin, em seguida, esperar a conclusão dessa solicitação de verificação pelo usuário com o IBM Verify e, em seguida, continuar o acesso de tempo de execução.

Observação: este fator de autenticação não exige um cadastro específico, mas requer que o usuário registre pelo menos uma instância do aplicativo de autenticação móvel IBM Verify.

Fluxo de trabalho

O fluxo de trabalho de QRLogin consiste em três etapas principais.
Criar um novo registro de verificação de login de Código QR
  • Esta etapa cria um novo registro de verificação de qrlogin.
  • A solicitação é gerada por meio de um contexto não autenticado.
  • A resposta inclui o Código QR que deve ser varrido com os detalhes para que o aplicativo autenticador conclua a verificação.
Pesquisar a conclusão de uma verificação de Login de QR existente
  • Esta etapa determina se o dispositivo de varredura concluiu a verificação, varrendo o Código QR ou se a solicitação de verificação foi movida para algum outro estado concluído. Por exemplo, Sucesso, Tempo limite ou Com falha.
  • A solicitação é gerada por meio de um contexto não autenticado.
  • A resposta inclui o estado da solicitação de verificação, que determina se a transação de verificação foi concluída.
Tentativa de concluir uma verificação de Login de QR existente
  • Esta etapa muda o estado de uma transação de verificação PENDENTE para um estado de SUCESSO.
  • A solicitação deve ser gerada por meio de um contexto autenticado. As autorizações de segurança da Api são necessárias para fazer uma verificação de qrlogin.
  • A resposta conterá o código de Status Http 204 se a solicitação for processada com sucesso.

Pré-requisitos

Procedimento

  1. Obtenha as propriedades de QRLogin. Cons ulte as propriedades do QRLogin.
  2. Atualize as propriedades de QRLogin. Consulte Atualizar as propriedades do QRLogin.

Sobre esta tarefa

Variáveis
As variáveis a seguir são usadas neste exemplo. Substitua essas variáveis nos comandos cURL pelos valores reais recebidos de suas solicitações.
Tabela 1. Valores de variáveis e exemplos
Variáveis Descrição Valores de exemplo
{{access_token}} Retornado como um resultado durante a troca de {{client_id}} e {{client_secret}} que são designados ao cliente da API. 4hFZq9U73P3MPEA40KcF54i77Z0mDhZba0InrzUe
{{tenant}} O nome de domínio completo atribuído à sua Verify assinatura. Consiste no nome do hostverify.ibm.com... companyAppTest.verify.ibm.com
Definições
Tabela 2.
Acrônimo Descrição
LSI O LSI é um código único que é usado pelo autenticador móvel na tentativa de verificação subsequente e significa índice de sessão de login.É uma sequência alfanumérica aleatória. Essa sequência é gerada usando o modelo de dados de configuração para o índice da sessão de login. As opções de configuração são o comprimento do identificador de índice da sessão de login e o conjunto de caracteres que é usado para gerar o identificador alfanumérico.
DSI O DSI é usado para pesquisa e significa índice de sessão de dispositivo.Essa sequência de caracteres é gerada usando o modelo de dados de configuração para o índice de sessão do dispositivo. As opções de configuração são o comprimento do identificador de índice de sessão do dispositivo e o conjunto de caracteres que é usado para gerar o identificador alfanumérico.

Obter as propriedades de QRLogin

Para obter as propriedades de QRlogin, use o seguinte comando cURL.

Comando cURL
curl -X GET \
  https://{{tenant}}/config/v2.0/factors/qr \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {{access_token}}'
exemplo
curl -X GET \
  https://companyAppTest.verify.ibm.com/config/v2.0/factors/qr \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer 4hFZq9U73P3MPEA40KcF54i77Z0mDhZba0InrzUe'
Resposta de saída de exemplo
{
    "lsi": {
        "charset": "134BCDAE",
        "length": 6
    },
    "dsi": {
        "charset": "12389EFGHIJKLMN",
        "length": 40
    },
    "expiry": 60,
    "enabled": false
}

Atualizar as propriedades de QRLogin

Crie um arquivo de propriedades que contenha as propriedades obtidas com o comando Get the QRLogin properties e nomeie-o config-payload.jsoncomo. Edite os valores para atender a seu requisito. Por exemplo,
{
	"lsi": {
	    "charset": "ABCDEFG123456789",
	    "length": 6
	},
	"dsi": {
	    "charset": "ABCDEFGHIJKLMNOPQRSTqrstuvwxyz0123456789",
	    "length": 40
	},
    "expiry": 60,
    "enabled": true
}

Use o seguinte comando cURL para atualizar as propriedades de QRLogin.

Comando cURL
curl -X PUT \
  https://{{tenant}}/config/v2.0/factors/qr \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {{access_token}}' \
  -H 'Content-Type: application/json' \
  -d @config-payload.json 
exemplo
curl -X PUT \
  https://companyAppTest.verify.ibm.com/config/v2.0/factors/qr \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer 4hFZq9U73P3MPEA40KcF54i77Z0mDhZba0InrzUe' \
  -H 'Content-Type: application/json' \
  -d @config-payload.json 
Resposta de saída de exemplo
Http Status Code: 204