Spaces:
Running
Running
| from fastapi import FastAPI,Request,HTTPException,Response | |
| from pydantic import BaseModel | |
| from fastapi.responses import JSONResponse | |
| import uuid | |
| from fastapi.middleware.cors import CORSMiddleware | |
| import json | |
| import base64 | |
| from components.middleware import x401Kit | |
| from components.mongodbconnection import provideClient | |
| import hashlib | |
| import secrets | |
| app=FastAPI() | |
| dbclient=provideClient() | |
| db=dbclient["sdklogs_db"] | |
| col=db["sdklogs_col"] | |
| origins=["*"] | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=origins, | |
| allow_credentials=True, | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| ) | |
| app.add_middleware( | |
| x401Kit, | |
| protected_paths=[ | |
| "/x401_auth" | |
| ] | |
| ) | |
| def generate_sha256_hex_challenge(): | |
| random_data = secrets.token_bytes(32) | |
| challenge = hashlib.sha256(random_data).hexdigest() | |
| return challenge | |
| def Auth401(request:Request): | |
| return {"token":""} | |
| def WebAuthChallange(request:Request): | |
| challange=generate_sha256_hex_challenge() | |
| return {"challange":challange} | |
| def SDKLog(id): | |
| document=col.find_one({"owner":"system"}) | |
| details=None | |
| if document: | |
| logs=document["logs"] | |
| for data in logs: | |
| if data.signer==id: | |
| details=data | |
| return JSONResponse(content={"details":details}) | |