Flask-OneID
Only for Uzbekistan
OneID integration for Flask application
Links
How it Works
Install
pip install Flask-OneID
Add your credentials from OneID to config file
ONEID_LOGIN = "your login"
ONEID_PASSWORD = "your pasword"
ONEID_URL = "url from OneID" # defaul https://sso.egov.uz/sso/oauth/Authorization.do
Create Flask App With OneID
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)
Add route to catch data from OneId
@app.route("/params", methods=['GET'])
def params():
print(request.args)
return redirect(url_for('index'))
Use builtin function to convert request args to dict
@app.route("/params", methods=['GET'])
def params():
data = oneid.Params_To_Dict(request.args)
print(data)
return redirect(url_for('index'))
Register your Callback Url for OneID module
with app.test_request_context():
oneid.Set_Callback(url_for('params'))
Full Code
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 route
After run app go to route /oneid/login to login oneid and get data about user
Return data
Example of data in callback
{
"_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": ""
}
U can use it to create user and login with Flask-Admin
License
This project is licensed under the MIT License (see the LICENSE file for details).
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Flask-OneID-1.0.3.tar.gz
(5.1 kB
view details)
File details
Details for the file Flask-OneID-1.0.3.tar.gz.
File metadata
- Download URL: Flask-OneID-1.0.3.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7fc980db0962537de0d14178e9018cb107dccf1f03a63585234cbd7a04475117
|
|
| MD5 |
eeadd4e5b36a6ca5d29d9c17081cdcfc
|
|
| BLAKE2b-256 |
a6c500e34af289ac7a8399e26137041c01494b8d5ec18b6abfc9e6314e03c2dd
|