| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import { db } from '../utils/db.js'
-
- class Authenticator {
- async sendEmail(answered) {
- return await db.post('/user/send-email/', answered)
- }
- async verifySession(hashedToken) {
- return await db.get(`/user/verify/${hashedToken}`)
- }
- async createToken(req) {
- return await db.post('/user/token', req, true)
- }
- async validateSession(hashedSessionToken) {
- return await db.post('/user/validate-session', hashedSessionToken, true)
- }
- async authenticateLoginCredentials(credentials) {
- return await db.post('/user/login', credentials)
- }
- async removeSession(hashedSessionToken) {
- return await db.post('/user/remove-session', hashedSessionToken, true)
- }
- grabStoredCookie(cookieKey) {
- const cookies = document.cookie.split('; ').reduce((prev, current) => {
- const [name, ...value] = current.split('=')
- prev[name] = value.join('=')
- return prev
- }, {})
- return cookies[cookieKey]
- }
- async verifySessionCookie(sessionCookieKey = 'siimee_session') {
- const hashedAccessToken = this.grabStoredCookie(sessionCookieKey)
- console.log('verifySessionCookie :>> ', hashedAccessToken)
- if (!hashedAccessToken)
- return console.warn('WARNING :=> accessToken is not defined')
- const validatedToken = await this.validateSession(hashedAccessToken)
- if (validatedToken.error)
- return console.error('ERROR :=>', validatedToken.error)
- return validatedToken
- }
- }
- const authenticator = new Authenticator()
-
- export { authenticator, Authenticator }
|