Kotlin Multiplatform library for Symantec VIP Access TOTP tokens.
- π Kotlin Multiplatform -
JVM,Native(Linux/macOS/Windows),JSandWasm/JStargets - π Provision VIP Access credentials directly from Symantec
- β±οΈ Generate TOTP/HOTP codes (RFC 6238, RFC 4226)
- π Export to
otpauth://URIs for any authenticator app - β Verify and re-sync tokens against the Symantec server
Kotlin Toolchain
# module.yaml
dependencies:
- dev.suresh.vipaccess:kotlin-vipaccess:<latest_version>Gradle Kotlin DSL
dependencies {
implementation("dev.suresh.vipaccess:kotlin-vipaccess:<latest_version>")
}val client = VipAccess(clientId = "kotlin-vipaccess")
// Provision a new credential
val token = client.provision()
println("ID: ${token.id}")
// Generate the current TOTP
val totp = client.generateOtp(token)
println("TOTP: $totp")
// Verify and sync with Symantec
when (client.verifyToken(token)) {
is Success -> println("β Valid")
is NeedsSync -> client.syncToken(token)
is Failed -> println("β Invalid")
}
// Export for any authenticator app
println("URI: ${client.otpUri(token)}")Get the OTP URI and add it to your authenticator of choice:
- Google Authenticator β generate a QR from the URI or manually enter the secret
- Authenticator Extension (Chrome) β paste the full
otpauth://URI
$ ./kotlin build # Build all targets
$ ./kotlin test # Run tests
$ ./kotlin publish mavenLocal # Publish to local Maven repositoryPush a version tag to publish to Maven Central and create a GitHub release:
$ git tag -am "Release v1.0.0" v1.0.0
$ git push origin --tagsThe build workflow handles signing and publishing automatically.
Based on the reverse engineering of the VIP Access provisioning protocol by Cyrozap.
Apache 2.0 β see LICENSE for details.