Ax_Handoff è un modulo Python che fornisce un protocollo di basso livello e un wrapper di alto livello incapsulare una serie di caratteristiche complesse fornite & nbsp; da altre biblioteche ed espone una semplice interfaccia che permette allo sviluppatore di scambiare o "mano off" pezzi sicure di flessibilità dati strutturati (niente JSON-grado) su canali di comunicazione non attendibili tra i componenti distribuiti di un sistema.
I complessi dettagli della crittografia e compressione sono nascosti da parte dello sviluppatore integrandosi con questo codice in modo che l'obbligo di consegnare a mano pezzi di dati in questo modo diventa banale e sicuro con poco sforzo richiesto e meno di 5 righe di codice. (!)
Una motivazione primaria per questo pacchetto è il caso in cui un utente viene reindirizzato da un web app a un altro in un dominio diverso (cioè quando i cookie non possono essere condivise), ma importanti informazioni devono essere trasmesse con integrità garantita e opacità totale.
Esempi di utilizzo:
- Un utente il collegamento a un sito di supporto di partito o da scaricare terzo supplementare che offre contenuti in base al livello dell'utente di sottoscrizione, l'ubicazione, e altre attività metadati e record associato a tale utente che può essere correlato al sito originale.
- Scambio di dati di sessione (registrati in stato) tra due applicazioni web gestiti dalla stessa società, ma servita da diverse piattaforme senza risorse condivise per consentire ampiamente positivo "single sign on" senza richiedere risorse centrali aggiuntive.
Mostrami il codice!
Questa breve esempio mostra quanto sia facile per codificare e decodificare oggetti complessi:
da axonchisel.handoff importazione Ax_Handoff
segreto = "Il mio segreto passaggio phr @ se! Sì !!"
obj1 = {'pippo': "Big Pippo", 'bar': [10, 20.5, 30]}
enc = Ax_Handoff.encode (obj, segreto)
# Enc = 'XHADPtqHlzJuuFBpFnTmBz8Uk3tYTczT1oChKQyho9flBqlRbSTSgXBybJ59CI1N4_wnGl3nsuMwJ7ItMxixm8H9bCIsjv5M00At1rElGvuuJ7u4v4WAHX'
obj2 = Ax_Handoff.decode (enc, segreto)
# Obj2 = {u'foo ': u'Big Foo', u'bar ': [10, 20.5, 30]}
Usalo in un URL:
url = "http://my.app2.com/xfer/?data=" + Ax_Handoff.encode (user_data, shared_secret)
redirect_to (url)
E sul lato di ricezione:
user_data = Ax_Handoff.decode (request.get ('data'), shared_secret)
Documentazione aggiuntiva
Ampia documentazione chiara, analisi crittografica, e di utilizzo esempi sono inclusi nel file README.txt
Cosa c'è di nuovo in questa versione:.
- Aggiornamenti doc riflettono nuovo repo bitbucket pubblico.
Cosa c'è di nuovo nella versione 0.9.1:.
- chiarimenti Crypto doc seguenti recensione sicurezza positiva
- aggiornamento della documentazione Maggiore e la formattazione.
Requisiti
- Python
Limitazioni
- Questa libreria è attualmente lo stato di beta. Passa unit test rigorosi ed è probabile pronto per la produzione.
I commenti non trovato