zhemima/msmail
0
1 2export const onRequest = async (context: RouteContext): Promise<Response> => {3 const request = context.request;4 const env: Env = context.env;5 6 try {7 const url = new URL(request.url);8 const code = url.searchParams.get('code');9 const email = url.searchParams.get('state'); // 假设我们在state参数中传递了email10 const error_Msg = url.searchParams.get('error_description');11 if (!code || !email) {12 throw new Error(`Missing code or email:${error_Msg}`);13 }14 console.log(code,email)15 // 将授权码存储到KV中16 await env.KV.put(`code_${email}`, code, { expirationTtl: 300 }); // 5分钟过期17 18 return new Response("Authorization successful. You can close this window.", {19 status: 200,20 headers: { 'Content-Type': 'text/plain' }21 });22 23 } catch (error: any) {24 return new Response(25 JSON.stringify({ error: error.message }),26 { status: 500 }27 );28 }29};