feat:kintone APIのパスワードの暗号化対応

This commit is contained in:
xiaozhe.ma
2024-08-05 19:26:31 +09:00
parent 48f2c4a2d1
commit 35df63664e
4 changed files with 12 additions and 9 deletions

View File

@@ -38,4 +38,4 @@ class KINTONE_ENV:
self.DOMAIN_ID=domain.id
self.BASE_URL = domain.url
self.KINTONE_USER = domain.kintoneuser
self.API_V1_AUTH_VALUE = base64.b64encode(bytes(f"{domain.kintoneuser}:{domain.kintonepwd}","utf-8"))
self.API_V1_AUTH_VALUE = base64.b64encode(bytes(f"{domain.kintoneuser}:{domain.decrypt_kintonepwd()}","utf-8"))

View File

@@ -266,19 +266,18 @@ def get_domain(db: Session, userid: str):
domains = db.query(models.Domain).join(models.UserDomain,models.UserDomain.domainid == models.Domain.id ).filter(models.UserDomain.userid == userid).all()
if not domains:
raise HTTPException(status_code=404, detail="Data not found")
for domain in domains:
decrypted_pwd = chacha20Decrypt(domain.kintonepwd)
domain.kintonepwd = decrypted_pwd
# for domain in domains:
# decrypted_pwd = chacha20Decrypt(domain.kintonepwd)
# domain.kintonepwd = decrypted_pwd
return domains
def get_domains(db: Session,tenantid:str):
domains = db.query(models.Domain).filter(models.Domain.tenantid == tenantid ).all()
if not domains:
raise HTTPException(status_code=404, detail="Data not found")
for domain in domains:
decrypted_pwd = chacha20Decrypt(domain.kintonepwd)
domain.kintonepwd = decrypted_pwd
# for domain in domains:
# decrypted_pwd = chacha20Decrypt(domain.kintonepwd)
# domain.kintonepwd = decrypted_pwd
return domains
def get_events(db: Session):

View File

@@ -2,6 +2,8 @@ from sqlalchemy import Boolean, Column, Integer, String, DateTime,ForeignKey
from sqlalchemy.ext.declarative import as_declarative
from datetime import datetime
from app.core.security import chacha20Decrypt
@as_declarative()
class Base:
id = Column(Integer, primary_key=True, index=True)
@@ -68,6 +70,9 @@ class Domain(Base):
url = Column(String(200), nullable=False)
kintoneuser = Column(String(100), nullable=False)
kintonepwd = Column(String(100), nullable=False)
def decrypt_kintonepwd(self):
decrypted_pwd = chacha20Decrypt(self.kintonepwd)
return decrypted_pwd
class UserDomain(Base):

View File

@@ -131,7 +131,6 @@ class Domain(Base):
url: str
kintoneuser: str
kintonepwd: str
class Config:
orm_mode = True