Kotlin Multiplatform library for Symantec VIP Access TOTP tokens.
- β Kotlin Multiplatform - supports all targets (JVM, Native, JS, Wasm)
- π Provision VIP Access credentials
- β±οΈ Generate TOTP/HOTP codes (RFC 6238, RFC 4226)
- π Export to
otpauth://URIs for authenticator apps - β Verify and sync tokens with Symantec
val client = VipAccess(clientId = "kotlin-vipaccess")
// Provision new credential
val token = client.provision()
println("ID: ${token.id}")
// Generate OTP
val otp = client.generateTotp(token)
println("OTP: $otp")
// Verify with Symantec
when (client.verifyToken(token)) {
is Success -> println("β Valid")
is NeedsSync -> client.syncToken(token)
is Failed -> println("β Invalid")
}
// Export for authenticator apps
println("URI: ${client.otpUri(token)}")$ git clone https://github.com/sureshg/kotlin-vipaccess
$ cd kotlin-vipaccess
$ ./amper buildGet the OTP URI and add to your authenticator:
val uri = client.otpUri(token)- Google Authenticator - Generate QR from URI or manually enter the secret
- Authenticator Extension (Chrome) - Paste the full
otpauth://URI
This work is based on the amazing reverse engineering of the VIP Access provisioning protocol by Cyrozap.
Apache 2.0