We don't support this login way' message, Web SDK for Bot

I am using Web SDK in my application. The SDK is used to create a bot and enable it to join the meetings. Since app is unapproved, it only joins meetings within the registered account. I have submitted app on marketplace and Zoom is testing it out with their review accounts but bot isn’t joining meetings. Its giving the following error:


We don’t support this login way’ message.
Why is this issue occurring and how can I resolve it,

my code is this:

var authEndpoint = '/api/zoom/jwt';
var sdkKey = ''; // Ensure this is the SDK Key
var leaveUrl = '' // Adjust according to your app's routing

// This function will be called on form submission
function joinMeetingWithDetails() {
    var meetingNumber = document.getElementById('meeting-id').value;
    var passWord = document.getElementById('passcode').value;
    var userName = ''; // Or any logic to set a user name
    var role = 1; // Adjust based on user's role, i have tested it with both 0 and 1

    getSignature(meetingNumber, role, passWord, userName);
}
function getSignature(meetingNumber, role, passWord, userName) {
  fetch(authEndpoint, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      meetingNumber: meetingNumber,
      role: role
    })
  }).then(response => response.json())
    .then(data => {
      console.log(data);
      startMeeting(data.signature, meetingNumber, passWord, userName);
    }).catch(error => {
      console.error(error);
    });
}

function startMeeting(signature, meetingNumber, passWord, userName) {
  ZoomMtg.setZoomJSLib("https://jssdk.zoomus.cn/3.1.2/lib", "/av");
  ZoomMtg.preLoadWasm();
  ZoomMtg.prepareWebSDK();
  ZoomMtg.init({
    leaveUrl: leaveUrl,
    isSupportAV: true,
    success: (success) => {
      ZoomMtg.join({
        signature: signature,
        meetingNumber: meetingNumber,
        userName: userName,
        sdkKey: sdkKey,
        passWord: passWord,
        success: (success) => {
          console.log('Join meeting success', success);
        },
        error: (error) => {
          console.error('Error joining meeting', error);
        },
      });
    },
    error: (error) => {
      console.error('Error initializing Zoom SDK', error);
    }
  });
}
@app.route('/api/zoom/jwt', methods=['POST'])
def generate_jwt():
    client_id = os.getenv('ZOOM_SDK_KEY')
    client_secret = os.getenv('ZOOM_SDK_SECRET')
    data = request.get_json()
    meeting_number = data['meetingNumber']
    role = data['role']  # 0 for participant, 1 for host

    # Define token expiration times
    iat = int(time.time())
    exp = iat + 7200  # Token valid for 2 hours

    # Create JWT payload
    payload = {
        'sdkKey': client_id,
        'mn': meeting_number,
        'role': role,
        'iat': iat,
        'exp': exp,
        'tokenExp': exp
    }

    signature = jwt.encode(payload, client_secret, algorithm='HS256')

    return jsonify({'signature': signature if isinstance(signature, str) else signature.decode('utf-8')})

the code is working and generating jwt tokens

@management1 , could you check if We don’t support this login way is a custom error message from your side?

By the way, you will need to ensure role is set to 0 (in both the signature and join paramaters). We do not support starting external meeting.

The message isn’t custom on our side.
And we have explicitly set the role as 0.
Can you help me further with it.

@management1 can you capture a tracking ID for me?

  1. On your browser, goto console (F12), and goto network tab
  2. After loading the page, you should see a request made to something like info?meeting…
  3. In the header window, look for x-zm-trackingid. Pass me the tracking ID on the right

this is the tracking id

@chunsiong.zoom

@management1 I’ll pm you for some details

Hey Ashlar!

We run meeting bots at scale using the Web SDK and have come across a wide variety of errors, but we haven’t ever come across this specific issue before.

How we typically debug these sort of things is by inspecting the HTTP request/responses from Zoom. What do you see in the response? This might provide some additional info as to what’s going on here.

Hopefully that helps.

Another alternative is to use Recall.ai for your meeting bots instead. It’s a simple 3rd party API that lets you use meeting bots to get raw audio/video from meetings without you needing to spend months to build, scale and maintain these bots.

Let me know if you have any questions!

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.