So, while thinking on adding Mobile-ID authentication to our era.ee free domain service, I have came up with this Python code, which is incredibly simple.
Replace +372xxxxxx with your own phone number for testing and register it at openxades.org before running the code.
from sys import exit
from suds.client import Client
import time
import logging
logging.basicConfig(level=logging.INFO)
url = 'https://www.openxades.org:8443/?wsdl' # test env
client = Client(url)
mid = client.service.MobileAuthenticate('', '', '+372xxxxxx', 'EST', 'Testimine', 'era.ee login', '12345678901234567890', 'asynchClientServer', 0, False, False)
if mid.Status != 'OK':
print mid.Status
exit(1)
print 'Challenge: ' + mid.ChallengeID
status = 'OUTSTANDING_TRANSACTION'
while status == 'OUTSTANDING_TRANSACTION':
time.sleep(2)
status = client.service.GetMobileAuthenticateStatus(mid.Sesscode, False).Status
if status != 'USER_AUTHENTICATED':
print status
exit(2)
print 'Authenticated: ' + mid.UserGivenname + ' ' + mid.UserSurname + ', ' + mid.UserIDCode
Don't forget to install the SUDS Python library that does the magic of creating SOAP requests (apt-get install python-suds on Debian & Ubuntu)
The tip here is useful. It depends on how you modify the code.
ReplyDeletelarge printing
In real environment sadly this script does not work for me also customer has agreement with sk.ee - returns 101 server fault. What is the real URL and request? Is everything the same?
ReplyDelete