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 Android解析JSON数据显示重复结果   Java图像写入   java将JSON对象作为对象而不是字符串写入文件   java获取servlet中的选定下拉列表值   java PowerMockito 1.6.0验证Mockito扩展API中的私有最终重载方法   java将地图图像更改为节点和边   java如何更改IntelliJ IDEA方案和窗格主题?   如何在java中解析文本文件?   当我使用Selenium IDE时,java WebDriver无法找到WebElement,而同样的css在哪里工作良好   java Android无线遥控摄像机   Go、Java和C#中数组的最大长度是多少?   java Guava的@Subscribe事件总线可见性   java如何将带有服务调用的循环重构为流?   java如何处理自定义Hamcrest匹配器中的异常?   java在Android中保存GUI状态   基于时间戳的java检索卡夫卡主题中的偏移量   图像构造函数中的java差异   java RxAndroidBle如何从多个服务读取通知?