feat(web): add login page for desktop auth callback
- Add email/code login with verification - Add Google OAuth login - Add desktop callback API route - Add request service with device ID handling Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
2577475ba6
commit
108cf7ffb0
10 changed files with 527 additions and 9 deletions
23
apps/web/app/api/desktop/session/route.ts
Normal file
23
apps/web/app/api/desktop/session/route.ts
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
import { NextRequest, NextResponse } from 'next/server';
|
||||
|
||||
/**
|
||||
* Desktop Session API
|
||||
*
|
||||
* 参考:Cap/apps/web/app/api/desktop/[...route]/session.ts
|
||||
*
|
||||
* 流程:
|
||||
* 1. Desktop 打开这个 URL(带 port 或 platform 参数)
|
||||
* 2. 直接重定向到 /login?next=当前URL
|
||||
* 3. 用户登录后,login 页面会重定向到 Desktop 回调
|
||||
*
|
||||
* 注意:Web 端不做任何 SID 缓存,每次都要重新登录
|
||||
*/
|
||||
export async function GET(request: NextRequest) {
|
||||
// Build current URL for next parameter
|
||||
const currentUrl = request.nextUrl.toString();
|
||||
|
||||
// Always redirect to login page - no caching, always require fresh login
|
||||
const loginUrl = new URL('/login', request.nextUrl.origin);
|
||||
loginUrl.searchParams.set('next', currentUrl);
|
||||
return NextResponse.redirect(loginUrl);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue