Autenticacao do Device SDK (DPoP)
O SDK v2 da vitalera utiliza DPoP (Demonstration of Proof-of-Possession) para autenticacao. Isto vincula os tokens a um par de chaves criptograficas no dispositivo, prevenindo roubo de tokens e ataques de replay -- critico para software de dispositivo medico que manuseia informacao de saude protegida.
Como funciona
- Inicializacao -- Quando chama
VitaleraSdk.builder().clientId("your-org-license-key").build(), o SDK gera um par de chaves DPoP (armazenado no Android Keystore ou iOS Secure Enclave). - Ativacao -- O SDK envia um pedido de ativacao assinado com DPoP ao servico de autenticacao da vitalera. O servidor valida a chave de licenca da organizacao e retorna um access token vinculado ao DPoP juntamente com os direitos da organizacao.
- Cache de direitos -- Os direitos sao armazenados em cache localmente por um periodo de graca offline de 7 dias. O SDK funciona offline desde que os direitos em cache nao tenham expirado.
- Atualizacao automatica -- O SDK gere a atualizacao de tokens de forma transparente. Nunca precisa de gerir tokens manualmente.
Android (Kotlin)
val sdk = VitaleraSdk.builder()
.context(applicationContext)
.clientId("your-org-license-key") // Organization license key
.addProvider("omron")
.build() // suspend: DPoP key gen + activation
iOS (Swift)
let sdk = try await VitaleraSdk.companion.builder()
.clientId(clientId: "your-org-license-key") // Organization license key
.addProvider(providerName: "omron")
.build() // async: Secure Enclave key gen + activation
Obtencao de uma chave de licenca
Contacte sdk@vitalera.com para obter uma chave de licenca de organizacao. Cada chave esta associada a uma organizacao especifica e determina quais modulos de provedores e funcionalidades estao disponiveis.
Operacao offline
O SDK foi desenhado para casos de uso de dispositivos medicos onde a conectividade a internet pode ser intermitente. Apos a ativacao inicial:
- Pesquisa e emparelhamento de dispositivos funciona completamente offline.
- Recolha de observations de dispositivos BLE funciona completamente offline.
- Os dados sao armazenados em cache localmente e sincronizados quando a conectividade e restabelecida.
- O periodo de graca de 7 dias permite ao SDK operar sem contacto com o servidor ate uma semana.
Se o periodo de graca expirar sem conectividade, o SDK requer reativacao antes de continuar a operar.
Arquitetura de seguranca
| Camada | Mecanismo |
|---|---|
| Armazenamento de chaves | Android Keystore / iOS Secure Enclave (com suporte de hardware) |
| Vinculacao de tokens | A prova DPoP vincula cada token ao par de chaves do dispositivo |
| Prevencao de replay | Cada prova DPoP inclui um jti unico e um timestamp iat |
| Transporte | TLS 1.2+ para toda a comunicacao com o servidor |
Proximos passos
- Visao geral do SDK -- Arquitetura, modulos e inicio rapido
- Utilizacao do SDK Android -- Guia completo de integracao Android
- Utilizacao do SDK iOS -- Guia completo de integracao iOS
Precisa de ajuda?
Contacte support@vitalera.io para assistencia com a autenticacao do SDK.