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
身份验证。
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