feat: restore mobile OAuth redirect support
Mobile apps using ASWebAuthenticationSession (iOS) or Custom Tabs (Android)
need the callback to redirect to their URL scheme to complete the OAuth flow.
Added back:
- mobileScheme config option for app callback URL
- mobile=true query parameter on /login
- mobile field in OAuthState to track through OAuth
- Mobile callback with session_token, did, and handle query params
Security: mobile redirects always use server-configured mobileScheme.
Client-specified redirect schemes are NOT allowed.