72 lines
2.2 KiB
JavaScript
72 lines
2.2 KiB
JavaScript
// 测试Supabase登录功能
|
||
import { config } from 'dotenv';
|
||
import { createClient } from '@supabase/supabase-js';
|
||
|
||
// 加载环境变量
|
||
config({ path: '.env.local' });
|
||
|
||
async function testSupabaseLogin() {
|
||
// 获取Supabase配置
|
||
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL || process.env.SUPABASE_URL;
|
||
const supabaseKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY || process.env.SUPABASE_ANON_KEY;
|
||
|
||
console.log('Supabase Configuration:');
|
||
console.log('- URL defined:', !!supabaseUrl);
|
||
console.log('- Key defined:', !!supabaseKey);
|
||
console.log('- URL:', supabaseUrl);
|
||
|
||
if (!supabaseUrl || !supabaseKey) {
|
||
console.error('缺少Supabase配置信息,请检查.env.local文件');
|
||
return;
|
||
}
|
||
|
||
// 创建Supabase客户端
|
||
const supabase = createClient(supabaseUrl, supabaseKey);
|
||
console.log('Supabase客户端创建成功');
|
||
|
||
try {
|
||
// 尝试获取会话状态
|
||
console.log('检查当前会话...');
|
||
const { data: sessionData, error: sessionError } = await supabase.auth.getSession();
|
||
|
||
if (sessionError) {
|
||
console.error('获取会话失败:', sessionError.message);
|
||
} else {
|
||
console.log('会话状态:', sessionData.session ? '已登录' : '未登录');
|
||
}
|
||
|
||
// 尝试使用测试账户登录
|
||
const testEmail = 'test@example.com';
|
||
const testPassword = 'password123';
|
||
|
||
console.log(`\n尝试使用测试账户登录: ${testEmail}`);
|
||
const { data, error } = await supabase.auth.signInWithPassword({
|
||
email: testEmail,
|
||
password: testPassword
|
||
});
|
||
|
||
if (error) {
|
||
console.error('登录失败:', error.message);
|
||
|
||
// 如果登录失败,尝试注册账户
|
||
console.log('\n尝试注册测试账户...');
|
||
const { data: signUpData, error: signUpError } = await supabase.auth.signUp({
|
||
email: testEmail,
|
||
password: testPassword
|
||
});
|
||
|
||
if (signUpError) {
|
||
console.error('注册失败:', signUpError.message);
|
||
} else {
|
||
console.log('注册成功:', signUpData);
|
||
}
|
||
} else {
|
||
console.log('登录成功!');
|
||
console.log('用户信息:', data.user);
|
||
}
|
||
} catch (error) {
|
||
console.error('发生错误:', error.message);
|
||
}
|
||
}
|
||
|
||
testSupabaseLogin();
|