Skip to content

Latest commit

Β 

History

43 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” VIP Access for Kotlin

GitHub Workflow Status Maven Central Version Kotlin release OpenJDK Version

Kotlin Multiplatform library for Symantec VIP Access TOTP tokens.

Features

  • 🌐 Kotlin Multiplatform - JVM, Native (Linux/macOS/Windows), JS and Wasm/JS targets
  • πŸ”‘ 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

Quick Start

Kotlin Toolchain
# module.yaml
dependencies:
  - dev.suresh.vipaccess:kotlin-vipaccess:<latest_version>
Gradle Kotlin DSL
dependencies {
    implementation("dev.suresh.vipaccess:kotlin-vipaccess:<latest_version>")
}

Provision & Use a Token

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)}")

Authenticator Setup

Get the OTP URI and add it to your authenticator of choice:

Build & Test

$ ./kotlin build                # Build all targets
$ ./kotlin test                 # Run tests
$ ./kotlin publish mavenLocal   # Publish to local Maven repository

Release

Push 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 --tags

The build workflow handles signing and publishing automatically.

Credits

Based on the reverse engineering of the VIP Access provisioning protocol by Cyrozap.

License

Apache 2.0 β€” see LICENSE for details.

About

πŸ” Kotlin Multiplatform implementation of Symantec VIP Access protocol

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages