otp.ts 770 B

1234567891011121314151617181920212223242526272829
  1. import http from '@/lib/http'
  2. export interface OTPGenerateSecretResponse {
  3. secret: string
  4. qr_code: string
  5. }
  6. const otp = {
  7. status(): Promise<{ status: boolean }> {
  8. return http.get('/otp_status')
  9. },
  10. generate_secret(): Promise<OTPGenerateSecretResponse> {
  11. return http.get('/otp_secret')
  12. },
  13. enroll_otp(secret: string, passcode: string): Promise<{ recovery_code: string }> {
  14. return http.post('/otp_enroll', { secret, passcode })
  15. },
  16. reset(recovery_code: string) {
  17. return http.post('/otp_reset', { recovery_code })
  18. },
  19. start_secure_session(passcode: string, recovery_code: string): Promise<{ session_id: string }> {
  20. return http.post('/otp_secure_session', {
  21. otp: passcode,
  22. recovery_code,
  23. })
  24. },
  25. }
  26. export default otp