Skip to main content

OneID 与 Flask 应用程序集成,(仅适用于乌兹别克斯坦)

项目描述

Flask-OneID

GitHub 工作流状态(分支) GitHub 发布(按日期最新) GitHub 顶级语言 GitHub

仅适用于乌兹别克斯坦

Flask 应用程序的 OneID 集成

链接

这个怎么运作

安装

pip install Flask-OneID

将您的凭据从 OneID 添加到配置文件

ONEID_LOGIN = "your login"
ONEID_PASSWORD = "your pasword"
ONEID_URL = "url from OneID" # defaul https://sso.egov.uz/sso/oauth/Authorization.do 

使用 OneID 创建 Flask 应用程序

from flask_oneid import OneID
from flask import *
def create_app():
    oneid = OneID()
    app = Flask(__name__)
    app.config.from_pyfile('config.py')
    oneid.init_app(app)
    
    @app.route("/", methods=['GET'])
    def index():
        return "Hello World"
    
    return app

app = create_app()

if __name__ == "__main__":
    app.run(debug=True)

添加路由以从 OneId 捕获数据

@app.route("/params", methods=['GET'])
def params():
    print(request.args)
    return redirect(url_for('index'))

使用内置函数将请求参数转换为字典

@app.route("/params", methods=['GET'])
def params():
    data = oneid.Params_To_Dict(request.args)
    print(data)
    return redirect(url_for('index'))

注册 OneID 模块的回调 URL

with app.test_request_context():
    oneid.Set_Callback(url_for('params'))

完整代码

from flask_oneid import OneID
from flask import *
def create_app():
    oneid = OneID()
    app = Flask(__name__)
    app.config.from_pyfile('config.py')
    oneid.init_app(app)
    
    @app.route("/", methods=['GET'])
    def index():
        return "Hello World"
    @app.route("/params", methods=['GET'])
    def params():
        data = oneid.Params_To_Dict(request.args)
        return jsonify(data)
    
    with app.test_request_context():
        oneid.Set_Callback(url_for('params'))
    return app

app = create_app()

if __name__ == "__main__":
    app.run(debug=True)

OneID 路由

运行应用程序后转到路由/oneid/login以登录 oneid 并获取有关用户的数据

返回数据

回调中的数据示例

{
    "_pport_expr_date": "",
    "_pport_issue_date": "",
    "birth_date": "",
    "birth_place": "",
    "ctzn": "",
    "email": "",
    "first_name": "",
    "full_name": "",
    "gd": "",
    "legal_info": null,
    "mid_name": "",
    "mob_phone_no": "",
    "natn": "",
    "per_adr": "",
    "pin": "",
    "pport_expr_date": "",
    "pport_issue_date": "",
    "pport_issue_place": "",
    "pport_no": "",
    "ret_cd": "",
    "sess_id": "",
    "sur_name": "",
    "tin": "",
    "user_id": "",
    "user_type": "",
    "valid": ""
}

你可以用它来创建用户并使用 Flask-Admin 登录

执照

该项目在 MIT 许可下获得许可(LICENSE详情请参阅文件)。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

Flask-OneID-1.0.3.tar.gz (5.1 kB 查看哈希

已上传 source