Remove testfile
This commit is contained in:
parent
2e228f3a0d
commit
78de133e16
1 changed files with 0 additions and 122 deletions
122
nameko1.py
122
nameko1.py
|
@ -1,122 +0,0 @@
|
||||||
from nameko.events import EventDispatcher, event_handler
|
|
||||||
from nameko.rpc import rpc
|
|
||||||
|
|
||||||
import json
|
|
||||||
from nameko.web.handlers import http
|
|
||||||
from nameko.timer import timer
|
|
||||||
from nameko.rpc import rpc, RpcProxy
|
|
||||||
|
|
||||||
import pyotp
|
|
||||||
|
|
||||||
|
|
||||||
class ServiceA:
|
|
||||||
""" Event dispatching service. """
|
|
||||||
name = "service_a"
|
|
||||||
|
|
||||||
dispatch = EventDispatcher()
|
|
||||||
|
|
||||||
@rpc
|
|
||||||
def dispatching_method(self, payload):
|
|
||||||
self.dispatch("event_type", payload)
|
|
||||||
|
|
||||||
|
|
||||||
class ServiceB:
|
|
||||||
""" Event listening service. """
|
|
||||||
name = "service_b"
|
|
||||||
|
|
||||||
@event_handler("service_a", "event_type")
|
|
||||||
def handle_event(self, payload):
|
|
||||||
print("service b received:", payload)
|
|
||||||
|
|
||||||
|
|
||||||
class HttpService:
|
|
||||||
name = "http_service"
|
|
||||||
|
|
||||||
@http('GET', '/get/<int:value>')
|
|
||||||
def get_method(self, request, value):
|
|
||||||
return json.dumps({'value': value})
|
|
||||||
|
|
||||||
@http('POST', '/post')
|
|
||||||
def do_post(self, request):
|
|
||||||
return u"received: {}".format(request.get_data(as_text=True))
|
|
||||||
|
|
||||||
@http('GET,PUT,POST,DELETE', '/multi')
|
|
||||||
def do_multi(self, request):
|
|
||||||
return request.method
|
|
||||||
|
|
||||||
class ServiceTimer:
|
|
||||||
name ="servicetimer"
|
|
||||||
|
|
||||||
dispatch = EventDispatcher()
|
|
||||||
|
|
||||||
@timer(interval=3)
|
|
||||||
def ping(self):
|
|
||||||
# method executed every second
|
|
||||||
print("pong")
|
|
||||||
self.dispatch("ping", "pong")
|
|
||||||
|
|
||||||
|
|
||||||
class LoggerService:
|
|
||||||
name = "loggerpoint"
|
|
||||||
|
|
||||||
@event_handler("servicetimer", "ping")
|
|
||||||
def handle_event(self, payload):
|
|
||||||
print("timing receive in logger: ", payload)
|
|
||||||
|
|
||||||
|
|
||||||
class OTPClient:
|
|
||||||
name = "generic-service-using-otp"
|
|
||||||
|
|
||||||
totp = pyotp.TOTP("JBSWY3DPEHPK3PXP")
|
|
||||||
|
|
||||||
otp = RpcProxy("otp")
|
|
||||||
|
|
||||||
@timer(interval=3)
|
|
||||||
def auth(self):
|
|
||||||
token = self.totp.now()
|
|
||||||
print("Verifying using {}".format(token))
|
|
||||||
print("Auth1: {}".format(self.otp.verify("app1", token)))
|
|
||||||
print("Auth-wrongapp: {}".format(self.otp.verify("app2", token)))
|
|
||||||
print("Auth-noapp: {}".format(self.otp.verify("appNOAPP", token)))
|
|
||||||
|
|
||||||
class OTPSeed:
|
|
||||||
name = "generic-service-using-otp-seed"
|
|
||||||
|
|
||||||
otp = RpcProxy("otp")
|
|
||||||
|
|
||||||
@timer(interval=10)
|
|
||||||
def auth(self):
|
|
||||||
seed = self.otp.get_seed("app1")
|
|
||||||
totp = pyotp.TOTP(seed)
|
|
||||||
token = totp.now()
|
|
||||||
|
|
||||||
res = self.otp.verify("app1", token)
|
|
||||||
|
|
||||||
print("seed / token / res {} {} {}".format(seed, token, res))
|
|
||||||
|
|
||||||
class OTPService:
|
|
||||||
name = "otp"
|
|
||||||
|
|
||||||
otp_tokens = {
|
|
||||||
'app1': 'JBSWY3DPEHPK3PXP',
|
|
||||||
'app2': 'AIEIU3IAAA'
|
|
||||||
}
|
|
||||||
|
|
||||||
@rpc
|
|
||||||
def get_seed(self, appid):
|
|
||||||
if appid in self.otp_tokens:
|
|
||||||
return self.otp_tokens[appid]
|
|
||||||
else:
|
|
||||||
return "NO SEED"
|
|
||||||
|
|
||||||
@rpc
|
|
||||||
def verify(self, appid, token):
|
|
||||||
if not appid in self.otp_tokens:
|
|
||||||
return "NO SUCH APP {}".format(appid)
|
|
||||||
|
|
||||||
totp = pyotp.TOTP(self.otp_tokens[appid])
|
|
||||||
|
|
||||||
if totp.verify(token, valid_window=3):
|
|
||||||
return "OK"
|
|
||||||
else:
|
|
||||||
return "FAIL"
|
|
Loading…
Reference in a new issue