Principais componentes e informações para integração de autenticação de diversos fatores externa de ponta a ponta
Ao ativar ou projetar uma nova integração de autenticação de diversos fatores externa, deve-se considerar e definir dois componentes principais em IBM® Verify.
- Provedor de autenticação de diversos fatores
- A configuração que representa a projeção pública do Verify de uma integração de provedor de autenticação de diversos fatores externa. No tempo de execução, este componente age como um cliente da API. As solicitações e respostas são enviadas por meio de um webhook em tempo real.
- Webhook em tempo real
- Fornece a conexão de Internet autenticada segura e o cliente HTTPS para um provedor de autenticação de diversos externa fatores de destino. Designar o webhook como o ponto de cumprimento do contrato da API. O webhook media a solicitação e as respostas que são enviadas entre o componente interno do Verify e o provedor de Autenticação de diversos fatores externa de destino.
Informações do Provedor de autenticação de diversos fatores
Um provedor de Autenticação de diversos fatores do Verify representa a conceitualização do Verify de um provedor de Autenticação de diversos fatores externa. Ele define quais os recursos do fator Autenticação de diversos fatores estão expostos e como usuários do Verify são identificados e resolvidos no provedor de Autenticação de diversos fatores de destino. Uma configuração de provedor de Autenticação de diversos fatores é mostrada no exemplo a seguir.
{
"name": "The Provider Name",
"description": "ISV - External Provider Integration",
"enabled": true,
"credentialPrefix": "emfa",
"webhookId": "{{webhook.id}}",
"uniqueNameAttribute": "{{unique.name.attribute}}",
"capabilities": [
"mobile_otp",
"mobile_bio",
"custom_totp"
]
}A tabela a seguir mostra os principais atributos de configuração.
| Atributo de configuração | Descrição |
|---|---|
name |
O nome fácil curto do provedor de Autenticação de diversos fatores que é conhecido em Verify. |
description |
Uma breve descrição do provedor. |
enabled |
Indica se o provedor está ativado no tempo de execução. Quando 'true', o provedor é considerado disponível para desafios de Autenticação de diversos fatores. |
credentialPrefix |
Um prefixo curto que é adicionado a cada recurso de fator e é referenciado por avaliações de política de acesso. Este valor deve ser exclusivo em todos os provedores de Autenticação de diversos fatores configurados dentro do seu locatário do Verify. Dentro do Verify, um fator de autenticação de diversos fatores externa é identificado como {credentialPrefix}:{capability}.Observação: este valor não deve conter dois pontos ( .:). |
webhookId |
O Verify UUID da instância de configuração do webhook em tempo real que serve de base e que está associado ao provedor de MFA. |
uniqueNameAttribute |
O nome de um atributo padrão ou customizado Verify configurado no locatário Verify. Este atributo fornece um mapeamento a partir do usuário autenticado do Verify para o usuário do provedor de Autenticação de diversos fatores externa. O valor é usado para consultar um usuário específico e seus registros e recursos de Autenticação de diversos fatores no provedor de Autenticação de diversos fatores de destino. |
| Recursos do | A lista de um ou mais recursos de fator de Autenticação de diversos fatores que devem ser expostos de Verify e suportados pelo provedor de Autenticação de diversos fatores externa. Os valores são sequências e podem conter qualquer sequência de caracteres válida. O comportamento de tempo de execução de um recurso deve ser mapeado para o padrão de consulta de inscrição e um outro padrão de desafio de tempo de execução. |
Informações do Webhook
A configuração de um webhook em tempo real deve estar associada à configuração de um provedor de MFA. O webhook em tempo real proporciona a integração técnica em tempo de execução entre o ISV e o serviço do provedor de MFA de destino. Idealmente, o webhook também é o ponto em que o contrato de autenticação externa de diversos fatores é aplicado e, portanto, atua como um mediador de API e protocolo entre o ISV e o provedor de Autenticação de diversos fatores de destino. Os principais mecanismos pelos quais os webhooks suportam a capacidade de impor o contrato e a mediação da API são "recursos" e "conversões". Para suporte e integração de Autenticação de diversos fatores externa, a definição de "recursos" deve corresponder ao contrato de API de Autenticação de diversos fatores externa de ISV.
{
"name": "Some MFA Provider",
"type": "realtime",
"urls": ["https://some.address.com"],
"authentication": {
"type": "oauth",
"oauth": {
"client_id": "some_client_id",
"client_secret": "some_client_secret",
"token_endpoint": "https://some.address.com/token",
"token_endpoint_auth_method": "client_secret_basic"
}
},
"resources": {
"enrollments": {
"suffix": "/v1/enrollments",
"method": "GET",
"transform": {
"outgoing": (CEL TRANSFORM),
"incoming": (CEL TRANSFORM)
}
},
"initiate": {
"suffix": "/v1/mfa",
"method": "POST",
"expectedStatus": [201]
"transform": {
"outgoing": (CEL TRANSFORM),
"incoming": (CEL TRANSFORM)
}
},
"validate": {
"suffix": "/v1/mfa",
"method": "POST",
"transform": {
"outgoing": (CEL TRANSFORM),
"incoming": (CEL TRANSFORM)
}
},
"custom_totp_1": {
"suffix": "/v1/mfa",
"method": "POST",
"transform": {
"outgoing": (CEL TRANSFORM),
"incoming": (CEL TRANSFORM)
}
},
"result": {
"suffix": "/v1/mfa/transactions",
"method": "GET",
"transform": {
"outgoing": (CEL TRANSFORM),
"incoming": (CEL TRANSFORM)
}
}
},
"purpose": ["external_mfa"]
}| Atributo | Descrição |
|---|---|
suffix |
Opcional. O sufixo a ser incluído na URL base que está sendo usada na solicitação de saída. As solicitações de saída de um recurso webhook são direcionadas para base URL + suffix. Nenhuma barra é incluída além do que está definido na configuração. A URL de solicitação de saída pode ser modificada usando uma conversão de saída. Por exemplo, na amostra anterior do enrollments, os componentes Webhooks do ISV iniciam o terminal da API https://some.address.com/v1/enrollments do provedor de Autenticação de diversos fatores de destino. |
method |
Opcional. O método que modifica o método HTTP de saída de POST para o que for especificado. O método HTTP que é usado para iniciar o terminal da API. Os valores válidos são POST, PUT, GET, DELETE, PATCH. O método pode ser modificado com uma conversão de saída. |
transform.outgoing |
Opcional. Define as conversões de dados que são aplicadas a solicitações de saída antes de serem enviadas. As conversões têm acesso aos seguintes elementos de solicitação conforme enviados da estrutura de Autenticação de diversos fatores interna do ISV: body, headers, http
method, path, host. |
transform.incoming |
Opcional. Define as conversões de dados que são aplicadas às respostas recebidas antes de retornar à estrutura de Autenticação de diversos fatores do ISV. As conversões têm acesso aos seguintes elementos de solicitação enviados da estrutura de Autenticação de diversos fatores interna do ISV: body, headers, status_code, request (a solicitação original que produz a resposta atual). |
exepctedStatus |
Opcional. é o status do ` HTTP ` esperado da API acionada por este webhook. Se o atributo não estiver presente, é esperado um código de status no intervalo de 200 a 299. O status esperado é verificado antes que a conversão de entrada seja executada. Veja o status do HTTP. |
| Resposta | Definição |
|---|---|
| PENDENTE | A autenticação ainda está pendente de conclusão. |
| SUCESSO | A autenticação foi bem-sucedida. |
| COM FALHA | A autenticação falhou. |
| CANCELED | A autenticação não foi concluída porque uma entidade cancelou a tentativa. |
| TEMPO DE ESPERA | A autenticação não foi concluída devido ao tempo limite ter sido excedido. |
| Recurso do Webhook | Padrão | Descrição |
|---|---|---|
enrollments |
consulta de inscrição | Esse recurso é iniciado pelo cliente de Autenticação de diversos fatores interna do ISV quando responde a uma solicitação para localizar os registros e recursos de Autenticação de diversos fatores de um usuário específico. Esse recurso geralmente é necessário quando o ISV apresenta ao usuário uma seleção de opções de fator de Autenticação de diversos fatores como parte de um desafio de Autenticação de diversos fatores em tempo de execução. |
{{mfa_capability_name}}_1 |
initiate - sms, otpou
|
Esse recurso é iniciado como a preferência do cliente de Autenticação de diversos fatores do ISV quando o nome do fator de Autenticação de diversos fatores corresponde ao atributo {{mfa_capability_name}}.É usado para iniciar um desafio de Autenticação de diversos fatores se o padrão de capacidade é |
{{mfa_capability_name}}_2 |
initiate + validate - sms, otp |
Esse recurso é iniciado como a preferência do cliente de Autenticação de diversos fatores do ISV quando o nome do fator de Autenticação de diversos fatores corresponde ao atributo {{mfa_capability_name}}. Ele é usado para validar um desafio de Autenticação de diversos fatores. |
initiate |
initiate + validate - sms, otp)ou initiate + wait for
completion - mobile push |
Esse recurso é usado para iniciar um desafio de Autenticação de diversos fatores se nenhum recurso específico do recurso de fator for definido. |
validate |
initiate - sms, otp |
Esse recurso é usado para validar um desafio de Autenticação de diversos fatores se nenhum recurso específico do recurso de fator for definido. |
result |
initiate + wait for completion - mobile push |
Esse recurso é usado para pesquisar a conclusão do desafio de Autenticação de diversos fatores após o início do desafio. Normalmente requer que uma resposta inicial anterior retorne um identificador de transação, alguns outros dados de estado ou um identificador. |