talaodao / issuer-id360 Goto Github PK
View Code? Open in Web Editor NEWKYC issuer for verifiable credentials
KYC issuer for verifiable credentials
prevoir un nouveau client_id
ajouter les acces sur demo
mettre les username password dans un fichier sur le serveur pas dans github
DIDAuth = {
"type": "VerifiablePresentationRequest",
"query": [
{
"type": "DIDAuth"
}
],
}
on aura finalement pas besoin d'avoir un code court lisible pour un user
utiliser uuid pour generer un code
on peut retirer le issuer= du QRcode
Faire une copy du main.py actuel pour garder le parvours precedent puis retirer la phase d authentification
argument ajouté did=<wallet_did>
si cet argument existe cela signifie que le call est faite depuis le wallet donc bypasser l authentfication du wallet et recuperer le did
Prevoir qu un client puisse proposer d'autre VC et donc qu el issuer puisse emettre d'autres VC
Age15+ (nouveau Over15)
Age18+
Age13+
Nationality
Liveness
larcgument est passé dans le lien &vc=nationality par exemple
a voir : des parcours peur etre differents selon les VCs....
passer l apikey dans la creation du dossier
ne pas mettre les api key sur github (ici)
Actuellement si un tiers se connecte sur une route il devrait etre rejeté si il n a pas le code en argument dans sa requete mais le code est exposée parcequ il est passé en argument visible dans la ligne de commande du browser donc il faudraot aussi verifier que le user est bien celui qui a reçu le code. C est facile a faire en enregistra,t la session la prmeiere fois ^puis en verifiant que la session est la bonne sur tous les points d'entrée
donc premiere connexion du user avec son browser : session['is_connected'] = True
Puis sur chaque routes exposée pour le browser verifier si session['is_connected'] == True, sinon rejeter avec un return jsonify ('Unhautorized"), 401
faire un clear.session() sur chaque fin de process
ajouter apres l envoie d un credential
data = {"vc" : "verifiableid" , "count" : "1" }
requests.post('https://issuer.talao.co/counter/update', data=data)
ou bien vc = over18/over15/over13
mettre X = 2 minutes
slide page 16
Dans le cas où l’utilisateur ne va pas au bout du parcours, la
browser_callback_url ne sera jamais appelée, au bout des X heures de validité
du parcours, vous recevrez la callback_url avec le statut Canceled.
Ce champs X est paramétrable au moment de la création du parcours.
iol faudraot essayer avec un gunicornconf.py
workers = 5
worker_class = 'gevent'
loglevel = 'info'
errorlog = "-"
accesslog = "-"
timeout = 30 # sec
keepalive = 504 # sec
capture_output = True
"evidence": [
{
"id": "https://github.com/TalaoDAO/context#evidence",
"type": [
"DocumentVerification"
],
"evidenceDocument": "",
"kycId": "",
"verifier": ""
}
],
Age over 18 verification
2022 et "scan..."
il faut que le client passe son client_id en argument et ensuite rechercher dans la base si le client_id existe et client_secret (api_key) est correct
curl https:talao.co/id360/get_code?client_id=<your_client_id> -H "apiKey":<your_api_key>
il faut mettre en place une base client avec un argument client_id=ffffff
et un code secret passé dans le header API-KEY pour filtrer les clients (sites = site de demo) qui peuvent obtenir un lien
File "/home/achille/id360/venv/lib/python3.9/site-packages/asgiref/sync.py", line 306, in main_wrap
Apr 22 16:37:03 ip-172-31-37-180 gunicorn[3022]: result = await self.awaitable(*args, **kwargs)
Apr 22 16:37:03 ip-172-31-37-180 gunicorn[3022]: File "/home/achille/id360/main.py", line 340, in get_qrcode
Apr 22 16:37:03 ip-172-31-37-180 gunicorn[3022]: birth_date=dossier["extracted_data"]["identity"][0]["birth_date"]
Apr 22 16:37:03 ip-172-31-37-180 gunicorn[3022]: TypeError: 'NoneType' object is not subscriptable
Apr 22 16:37:03 ip-172-31-37-180 gunicorn[3022]: 17896
Apr 22 16:37:03 ip-172-31-37-180 gunicorn[3022]: 202
Apr 22 16:37:03 ip-172-31-37-180 gunicorn[3022]: Cannot ask for a report on an enrollment that is not finished
Apr 22 16:37:03 ip-172-31-37-180 gunicorn[3022]: None
Redirect depuis le site : il faudrait une route fixe avec des arguments code=xxxyyy&client_id=….&vc=verifiableid
Avec x = une lettre et y = un chiffre example AFE123. Traiter tout en lowercase
Ce code doit avoir une duree de vie de 180 sec max. Ca nous permettra d avoir une option pour le saisir directement aussi dans le wallet
i faut enlever la temo sur le qrcode dans un premier temps
Apres que la version pour nos wallets soit en production et fonctionne correctement
il ne faut pas la mettre dans le github
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.