
Provision Symantec VIP Access credentials, generate RFC‑compliant TOTP/HOTP codes, export otpauth:// QR‑ready URIs, and verify or resync tokens with Symantec servers.
Kotlin Multiplatform library for Symantec VIP Access TOTP tokens.
JVM, Native (Linux/macOS/Windows), JS and Wasm/JS targetsotpauth:// URIs for any authenticator app# module.yaml
dependencies:
- dev.suresh.vipaccess:kotlin-vipaccess:<latest_version>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:
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.
Kotlin Multiplatform library for Symantec VIP Access TOTP tokens.
JVM, Native (Linux/macOS/Windows), JS and Wasm/JS targetsotpauth:// URIs for any authenticator app# module.yaml
dependencies:
- dev.suresh.vipaccess:kotlin-vipaccess:<latest_version>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:
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.