Exemple #1
0
    async def refreshSession(self, refreshToken: str) -> dict:
        info = jwt.decode(refreshToken, JWT_SECRET, algorithms=['HS256'])
        if info['type'] != 'REFRESH': raise Exception('Not refresh token')

        session = Session.fromDict(info['session'])
        newSession = await userRepository.refreshSession(session)
        if newSession is None: raise Exception('Wrong token')
        return self._createTokens(newSession)
Exemple #2
0
    async def getUser(self, accessToken: str) -> Optional[User]:
        info = jwt.decode(accessToken, JWT_SECRET, algorithms=['HS256'])
        if info['type'] != 'ACCESS': return None

        session = Session.fromDict(info['session'])
        if (await userRepository.checkSession(session)):
            return await userRepository.getUserById(session.userId)
        else:
            raise Exception('Wrong token')