rublon-ssh-old/SSH/PAM/confirmMethod.py

39 lines
738 B
Python

import os
import sys
import socketio
import time
from threading import Timer
sio = socketio.Client()
@sio.event
def connect():
sio.emit('subscribe',{'channel':'transactionConfirmation.'+str(sys.argv[2])})
@sio.event
def transactionConfirmed(content, msg):
sio.disconnect()
os._exit(0)
@sio.event
def transactionDenied(content, msg):
sio.disconnect()
os._exit(1)
@sio.event
def transactionExpired(content, msg):
sio.disconnect()
os._exit(2)
def exitfunc():
sio.disconnect()
os._exit(0)
Timer(900, exitfunc).start()
sio.connect(str(sys.argv[1]), transports='websocket', socketio_path='/ws/socket.io')
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
sio.disconnect()
os._exit(0)