選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

auth.service.js 818B

123456789101112131415161718192021222324252627
  1. import { db } from '../utils/db.js'
  2. class Authenticator {
  3. constructor() {
  4. this.curentUser = null
  5. }
  6. async sendAuthEmail(answered) {
  7. const emailWasSent = await db.post('/user/sendemail/', answered)
  8. return emailWasSent
  9. }
  10. // NOTE: these might be better suited as POST requests
  11. async verifyAuthEmail(hashedEmail) {
  12. const isVerified = await db.get(`/user/verify/${hashedEmail}`)
  13. return isVerified.hashesMatch
  14. }
  15. // TODO: this needs to generate the JWT with the RAW email
  16. async generateJwt(res) {
  17. const token = await db.post('/user/generatejwt', res)
  18. return token.jwt
  19. }
  20. async validateJwt(jwt) {
  21. const validateJwt = await db.get(`/user/validatejwt/${jwt}`)
  22. return validateJwt
  23. }
  24. }
  25. export { Authenticator }