AuthRPC est un outil qui fournit un service basé sur JSONRPC avec quelques petits ajouts à la norme afin de permettre les demandes authentifiées. & Nbsp; La spécification WSGI est utilisé pour la communication des données. Le paquet se décompose en deux moitiés - un client et un serveur. Pour plus de sécurité, le serveur est meilleure course sur HTTPS, bien que ce ne est pas appliquée.
Le serveur dépend WebOb 1.0.0 et au-dessus. Ce est automatiquement installé si vous avez une connexion internet, sinon télécharger et installer des http://pypi.python.org/pypi/WebOb
Si vous installez sous Python 3, seul le paquet client est disponible pour le moment, jusqu'à ce WebOb a été porté à python 3.
Exemple d'utilisation (Server):
hashlib d'importation
de simple_server d'importation wsgiref
de AuthRPC.server importation AuthRPCApp
def myauth (nom d'utilisateur, mot de passe, useragent):
& Nbsp; retour nom d'utilisateur == 'myuser' et
& Nbsp; de passe == hashlib.md5 («secret») hexdigest () et .
& Nbsp; useragent == 'myprogram'
api de classe (objet):
& Nbsp; def do_something (auto, myvar):
& Nbsp; "" "Votre code placé ici" ""
& Nbsp; retour «quelque chose», myvar
demande = AuthRPCApp (api (), auth = myauth)
simple_server.make_server ('localhost', 1234, de l'application)
Exemple d'utilisation (Client):
de AuthRPC.client importation ServerProxy
client = ServerProxy ('http: // localhost: 1234 /',
& Nbsp; username = 'myuser',
& Nbsp; password = 'secret',
& Nbsp; user_agent = 'myprogram')
retval = client.do_something ('test')
Ce qui est nouveau dans cette version:
- utiliser le générateur avec __getfile__ (utilisations beaucoup moins de mémoire)
- problème de sécurité fixe avec __getfile__ - ne permettent pas l'accès à disque entier !
- gérer les exceptions en fonction de auth
- cryptage fixe sans mot de passe
- exemples de code README Changé
Ce qui est nouveau dans la version 0.3.0 Alpha:
- Changement / exceptions qui sont générés renommé (client )
Ce qui est nouveau dans la version 0.2.0 Alpha:
- mécanisme Ajouté __getfile__
Exigences :
- Python
Commentaires non trouvées