Skip to content

sureshg/kotlin-vipaccess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

24 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

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •