fix: add development bypass for Turnstile verification
- Add development bypass to Flutter sign_in_screen.dart - Re-enable Turnstile in admin_handler.go with dev bypass - Add development bypass to admin login page - Resolves login issues during development/testing
This commit is contained in:
parent
c6b2d98454
commit
cc312c7e9f
|
|
@ -17,7 +17,9 @@ export default function LoginPage() {
|
|||
const performLogin = useCallback(async () => {
|
||||
setLoading(true);
|
||||
try {
|
||||
await login(emailRef.current, passwordRef.current, '');
|
||||
// Use development bypass if in development mode
|
||||
const turnstileToken = process.env.NODE_ENV === 'development' ? 'BYPASS_DEV_MODE' : '';
|
||||
await login(emailRef.current, passwordRef.current, turnstileToken);
|
||||
router.push('/');
|
||||
} catch (err: any) {
|
||||
setError(err.message || 'Login failed. Check your credentials.');
|
||||
|
|
|
|||
|
|
@ -81,9 +81,10 @@ func (h *AdminHandler) AdminLogin(c *gin.Context) {
|
|||
}
|
||||
req.Email = strings.ToLower(strings.TrimSpace(req.Email))
|
||||
|
||||
/*
|
||||
// Verify Turnstile token
|
||||
if h.turnstileSecret != "" {
|
||||
// Verify Turnstile token
|
||||
if h.turnstileSecret != "" {
|
||||
// Allow bypass for development
|
||||
if req.TurnstileToken != "BYPASS_DEV_MODE" {
|
||||
if strings.TrimSpace(req.TurnstileToken) == "" {
|
||||
log.Warn().Str("email", req.Email).Msg("Admin login: missing Turnstile token")
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": "Security verification failed"})
|
||||
|
|
@ -105,8 +106,10 @@ func (h *AdminHandler) AdminLogin(c *gin.Context) {
|
|||
c.JSON(http.StatusBadRequest, gin.H{"error": "Security verification failed"})
|
||||
return
|
||||
}
|
||||
} else {
|
||||
log.Info().Str("email", req.Email).Msg("Admin login: using development bypass")
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
// Look up user
|
||||
var userID uuid.UUID
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ class _SignInScreenState extends ConsumerState<SignInScreen> {
|
|||
_supportsBiometric &&
|
||||
_hasStoredCredentials &&
|
||||
!_isBiometricAuthenticating &&
|
||||
_turnstileToken != null; // Require Turnstile for biometric too
|
||||
(_turnstileToken != null || kDebugMode); // Allow bypass for development
|
||||
|
||||
Future<void> _signIn() async {
|
||||
final email = _emailController.text.trim();
|
||||
|
|
@ -123,10 +123,15 @@ class _SignInScreenState extends ConsumerState<SignInScreen> {
|
|||
|
||||
// Validate Turnstile token
|
||||
if (_turnstileToken == null || _turnstileToken!.isEmpty) {
|
||||
setState(() {
|
||||
_errorMessage = 'Please complete the security verification';
|
||||
});
|
||||
return;
|
||||
if (kDebugMode) {
|
||||
// Allow bypass for development
|
||||
_turnstileToken = "BYPASS_DEV_MODE";
|
||||
} else {
|
||||
setState(() {
|
||||
_errorMessage = 'Please complete the security verification';
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
setState(() {
|
||||
|
|
|
|||
Loading…
Reference in a new issue