An alternative to the Swivel Mobile authenticator from SwivelSecure, which uses the officially documented API.
Currently this project does not cover every functionality of the Swivel Mobile App but it satisfies my use case.
Feel free to extend it for yours.
I am using it to connect to a VPN, which asks for the OTC. The call looks like this and connects instantly to the VPN.
You can disable certificate validation with '--no-verify' as last argument.
Build from source
If you want to build Swivel Authenticator right away you need to have a working Go environment.
$ go get -d github.com/berlam/swivel-authenticator/cmd/{swivelp,swivelt}
$ go install github.com/berlam/swivel-authenticator/{pkg,cmd/swivelp,cmd/swivelt}
Authentication API
Here are the Swivel APIs used for the authentication.
GET Server Details with ServerId
GET https://ssd.swivelsecure.net/ssdserver/getServerDetails?id=$SWIVEL_SERVER_ID
POST to get provisioning message
POST $SCHEME://$HOSTNAME:$PORT/$CONNECTION_TYPE/AgentXML