Skip to content

sureshg/kotlin-vipaccess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” VIP Access for Kotlin

Kotlin Multiplatform library for Symantec VIP Access TOTP tokens.

Features

  • βœ… 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

Quick Start

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

Build

$ git clone https://github.com/sureshg/kotlin-vipaccess
$ cd kotlin-vipaccess
$ ./amper build

Authenticator Setup

Get the OTP URI and add to your authenticator:

val uri = client.otpUri(token)

Credits

This work is based on the amazing reverse engineering of the VIP Access provisioning protocol by Cyrozap.

License

Apache 2.0

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published