Invalid totp


  • Here is my code

    
    // Initialize SmartAPI
    let smart_api;
    try {
        smart_api = new SmartAPI({
            api_key: process.env.SMART_API_KEY,    // Your API Key
            clientId: process.env.CLIENT_ID,       // Your Client ID
            clientSecret: process.env.CLIENT_SECRET // Your Client Secret
        });
        console.log('SmartAPI initialized successfully');
    } catch (error) {
        console.error('Error initializing SmartAPI:', error);
        process.exit(1);
    }
    
    // Store session data
    let session = null;
    
    // Session check middleware
    const checkSession = (req, res, next) => {
        if (!session || !session.feedToken) {
            return res.status(401).json({ success: false, message: 'Not logged in or session expired' });
        }
        next();
    };
    
    //login code test
    app.post('/api/login', async (req, res) => {
        try {
            console.log('Login attempt started...');
            const { client_code, password, totp } = req.body;
            
            if (!client_code || !password || !totp) {
                throw new Error('Missing required login parameters');
            }
    
            console.log('Generating session...');
            const data = await smart_api.generateSession(client_code, password, totp);
            
            console.log('Full API Response:', JSON.stringify(data, null, 2));
    
            if (!data) {
                throw new Error('Session generation failed, missing tokens.');
            }
    
            console.log('Session generated successfully:', {
                hasAccessToken: !!data.accessToken,
                hasRefreshToken: !!data.refreshToken,
                hasJwtToken: !!data.jwtToken,
                hasFeedToken: !!data.feedToken
            });
    
            session = data;
            smart_api.jwtToken = data.jwtToken;
            smart_api.feedToken = data.feedToken;
    
            res.json({
                success: true,
                message: 'Login successful',
                sessionInfo: {
                    hasAccessToken: !!data.accessToken,
                    hasJwtToken: !!data.jwtToken,
                    hasFeedToken: !!data.feedToken
                }
            });
    
        } catch (error) {
            console.error('Login error details:', error);
            res.status(500).json({
                success: false,
                message: error.message || 'Login failed',
                errorDetails: error.toString()
            });
        }
    });
    
    
    

    Response

    Generating session...
    Full API Response: {
    "status": false,
    "message": "Invalid totp",
    "errorcode": "AB1050",
    "data": null
    }
    Session generated successfully: {
    hasAccessToken: false,
    hasRefreshToken: false,
    hasJwtToken: false,
    hasFeedToken: false
    }

    ID: "k624646"

    any one help me to solve this.


  • @hemil-quarec share your code for TOTP generation.

2 out of 2