bitjws身份验证的烧瓶扩展。

Flask-bitjws的Python项目详细描述


毕加索烧瓶bitjws pypi版本
身份验证。

r/>`secp256k1<;https://github.com/bitcoin/secp256k1>;``是可用的,因此
在继续之前安装它;确保运行
``./configure--enable module recovery``。如果您正在使用提供此功能所需的其他库,请检查bitjws自述文件中的
**使用自定义库**部分。


>可以通过运行以下命令安装烧瓶bitjws:

``pip install flask bitjws`

building secp256k1''

如果需要安装``secp256k1``c库,建议使用以下
命令序列。如果已经有了"secp256k1",请确保它是根据预期的git提交编译的,否则可能会因为api不兼容而无法工作。






git clone git://github.com/bitcoin/secp256k1.git libsecp256k1
cd libsecp256k1
git checkout d7eb1ae96dfe9d497A26B3E7FF8B6F58E61E400A
./autogen.sh
./configure——启用模块恢复
make
sudo make install

提供烧瓶应用程序包装。要启用
bitjws身份验证,请使用flaskbitjws应用程序作为
第一个参数初始化flaskbitjws。

。代码::python

from flask import flask

a/flask login>;``用于管理
用户登录和身份验证。默认情况下,
flaskbitjws初始化将为您创建一个新的loginmanager。
如果需要自定义,您可以交替提供自己的loginmanager。只需注意它的请求加载程序需要保持原样。代码::python

from flask import flask
from flask bitjws import flaskbitjws
from flask.ext.login import loginmanager

使用私钥进行大小调整
'''''''''''''''''''''''''''''''''''''''''



若要为服务器提供用于签名的私钥,请在应用程序中包含一个
privkey参数。\**init**()。

。代码::python

from flask import flask
from flask bitjws import flaskbitjws

/>用法
---

两个新的属性"jws有效负载"和"jws头"。

Tkgpmvvd7vk7nlin6211xz2qgxlbmginaqw7mbbgp8"


@app.route('/user',methods=['post'])
@login\u required
def post\u user():
request.jws\u有效载荷应该存在并具有反序列化的jwt c。laimset
用户名=请求。jws_payload.get('username')
request.jws_header应该存在,并且具有发送方的公钥
address=request.jws戋header['kid']
user={'username':username,'address':address}
返回bitjws签名并格式化的响应
return cur租用应用程序。创建bitjws响应(用户)

responses
"responses"
"responses"

准备响应时,使用create \"bitjws"响应方法
以bitjws格式构造响应。




response \"object={'可以是':'a dict','或任何':'valid json'}
return current_app.create_bitjws_response(response_object)

使用这个例子"database"是非常不安全的,而且
不稳定。建议为您自己的persistent
数据库提供绑定以供生产使用。这可以通过传递
``flaskbitjws.\uu init``两个函数来实现:get\\\\\\'u last\'u nonce和
get\\'u user\'u by\'u key。他们的名字应该是这样的。

'''''''''''''''''''''''''''''''




def get_last_nonce(app,key,nonce):
''
这个方法只是一个示例!用一个真正的nonce数据库替换它。

:param str key:nonce所属的公钥
:param int nonce:最新的nonce
"
uk=ses.query(userkey).filter(userkey.key==key)\
.filter(userkey.last\nonce<;nonce*1000).first()
如果不是英国:
返回none
last nonce=copy.copy(uk.last_nce)
如有可能,在上述相同的查询中更新数据库记录
uk.last_nce=nonce*1000
尝试:
ses.commit()
除e:
打印e
ses.rollback()
ses.flush()
返回lastonce



def get_user_by_key(app,key):
"
此方法仅是一个示例!替换为一个真正的用户数据库。

:param str key:用户所属的公钥
"
user=ses.query(slm_user).join(userkey).filter(userkey.key==key).first()
返回user

flaskbitjws(app,get_last_nonce=get_last_nonce,
get_user_by_key=get_user_by_key)

…| pypi版本图像::https://img.shields.io/pypi/v/flask bitjws.svg
:目标:https://pypi.python.org/pypi/flask bitjws/
…|构建状态图像::https://travis-ci.org/deginner/flask-bitjws.svg?branch=master
:目标:https://travis ci.org/deginner/flask bitjws
…|覆盖范围图像::https://coveralls.io/repos/deginner/flask-bitjws/badge.svg?branch=master&service=github
:目标:https://coveralls.io/github/deginner/flask-bitjws?分支=主
…| gitter图像::https://badges.gitter.im/join%20chat.svg
:目标:https://gitter.im/deginner/bitjws?utm_source=share link&utm_medium=link&utm_campaign=share link

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Cassandra复制因子大于节点数   java J2EE JTA事务回滚不适用于OSE Glassfish 4.0(Build 89)   java spring安全预认证用户登录   org的java类文件。反应流。从RxJava编译示例时未找到Publisher?   java在使用dataFormat作为POJO通过Camel调用Web服务时无法设置SOAP标头   Javafx类的java静态实例   java如何防止一个部件在关闭时覆盖另一个部件的位置   sql server无法从我的java代码连接到数据库   java在JList(Swing)中显示带有的ArrayList   从Java中的CXF服务获取WSAddressing数据   使用资产文件夹进行java简单json解析(本地)   java LDAPException未绑定的无效凭据   JavaJSFspring部署到weblogic   JAVA中字符数组中的特定元素排列?   如果脚本位于不同的目录中,则ant不会使用exec标记运行Javashell脚本