/
githubmirror
/
Open-Assistant
Обзор
Документация
Войти
/
githubmirror
/
Open-Assistant
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
backend/oasst_backend/auth.py
37 строк
1 KB
Oliver Stanley
857: Implement backend Discord authentication (#943)
02 фев 2023, 21:33
Не верифицирован
02 фев 2023, 21:33
652b7bf
Код
Авторство
О чём код?
from datetime import datetime, timedelta from typing import Optional from jose import jwt from oasst_backend.config import Settings from oasst_backend.models import Account from sqlmodel import Session def create_access_token(data: dict) -> str: """ Create an encoded JSON Web Token (JWT) using the given data. """ expires_delta = timedelta(minutes=Settings.AUTH_ACCESS_TOKEN_EXPIRE_MINUTES) to_encode = data.copy() expire = datetime.utcnow() + expires_delta to_encode.update({"exp": expire}) encoded_jwt = jwt.encode(to_encode, Settings.AUTH_SECRET, algorithm=Settings.AUTH_ALGORITHM) return encoded_jwt def get_account_from_discord_id(db: Session, discord_id: str) -> Optional[Account]: """ Get the Open-Assistant Account associated with the given Discord ID. """ account: Account = ( db.query(Account) .filter( Account.provider == "discord", Account.provider_account_id == discord_id, ) .first() ) return account