Files
multy-stub/server/routers/kfu-m-24-1/sber_mobile/auth.js
2025-05-24 21:06:51 +03:00

51 lines
1.8 KiB
JavaScript

const router = require('express').Router();
const getSupabaseClient = require('./supabaseClient').getSupabaseClient;
// POST /sign-in
router.post('/sign-in', async (req, res) => {
const { email, password } = req.body;
const supabase = getSupabaseClient();
const { data, error } = await supabase.auth.signInWithPassword({ email, password });
if (error) return res.status(400).json({ error: error.message });
res.json(data);
});
// POST /sign-up
router.post('/sign-up', async (req, res) => {
const { email, password } = req.body;
const supabase = getSupabaseClient();
const { data, error } = await supabase.auth.signUp({ email, password });
if (error) return res.status(400).json({ error: error.message });
res.json(data);
});
// POST /sign-out
router.post('/sign-out', async (req, res) => {
const { access_token } = req.body;
const supabase = getSupabaseClient();
supabase.auth.setSession({ access_token, refresh_token: '' });
const { error } = await supabase.auth.signOut();
if (error) return res.status(400).json({ error: error.message });
res.json({ success: true });
});
// POST /reset-password
router.post('/reset-password', async (req, res) => {
const { email } = req.body;
const supabase = getSupabaseClient();
const { data, error } = await supabase.auth.resetPasswordForEmail(email);
if (error) return res.status(400).json({ error: error.message });
res.json(data);
});
// POST /update-password
router.post('/update-password', async (req, res) => {
const { access_token, newPassword } = req.body;
const supabase = getSupabaseClient();
supabase.auth.setSession({ access_token, refresh_token: '' });
const { data, error } = await supabase.auth.updateUser({ password: newPassword });
if (error) return res.status(400).json({ error: error.message });
res.json(data);
});
module.exports = router;