PlatformsFacebookLogin

useCDSWebLoginMutation

Domainlogin
Kindmutation
doc_id28077768681846394
Path/api/graphql/
Sendsinput, scale
Readscaa_login_web.error_code, caa_login_web.error_message, caa_login_web.error_style, caa_login_web.redirect_uri, caa_login_web.two_factor_result, caa_login_web.reg_nta_context, caa_login_web.is_3pl, caa_login_web.is_xapp_login, caa_login_web.recaptcha_needed, caa_login_web.is_ig_login_recaptcha, caa_login_web.should_show_profile_selector, caa_login_web.should_show_save_password_dialog and 14 more
Called fromuseCDSWebLoginMutation
reaev_f18654fe13879f40a482e2123ed7247d7d2430323d52092806de0435de449a7c

Seen 4 time(s) in 4 run(s).

ActionOur stepTimesStatusTookAfter step startErrors
hostsignIn: password typed; submitting with Enter32003650–4726 ms29–79 ms—
inspectsignIn: password typed; submitting with Enter100 ms9069 ms—

What it sent and what came back (the newest 1 from our runs)

Read from each run's own recording (rule 73), secrets and signed link tokens taken out. Kept in ~/.logCli/rea/clientFacts.json, so it stays after the run is pruned.

runs/host/20261026T164654_61594285317994, signIn: password typed; submitting with Enter: 200, 3650 ms

Sent:

{
  "qpl_active_flow_ids": "516759801",
  "fb_api_caller_class": "RelayModern",
  "fb_api_req_friendly_name": "useCDSWebLoginMutation",
  "server_timestamps": "true",
  "variables": {
    "input": {
      "actor_id": "0",
      "client_mutation_id": "1",
      "access_flow_version": "pre_mt_behavior",
      "account_recovery_entry_point": null,
      "app": "facebook",
      "auth_domain_data_key": null,
      "caa_login_request_extra_info": {
        "ab_test_data": "DAAAj/AAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAA/BAAAAAANGBB",
        "shared_prefs_data": "eyIxMTAyMCI6W3sidCI6MTc5MzAzMzQwNS43ODQsImN0eCI6eyJjbiI6Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9sb2dpbi8ifSwidiI6IkFtZXJpY2EvVmFuY291dmVyIn1dLCIzMDAwMCI6W3sidCI6MTc5MzAzMzQwNS43ODQsImN0eCI6eyJjbiI6Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9sb2dpbi8ifSwidiI6ZmFsc2V9XSwiMzAwMDEiOlt7InQiOjE3OTMwMzM0MDUuNzg0LCJjdHgiOnsiY24iOiJodHRwczovL3d3dy5mYWNlYm9vay5jb20vbG9naW4vIn0sInYiOjV9XSwiMzAwMDIiOlt7InQiOjE3OTMwMzM0MDUu… (3120 chars)",
        "cuid": "",
        "guid": "f8ec9d2a12680a3af",
        "lgndim": "eyJ3IjoxNjgwLCJoIjoxMDUwLCJhdyI6MTY4MCwiYWgiOjEwMDIsImMiOjI0fQ==",
        "lgnjs": "1793033405",
        "lgnrnd": "095004_lCbR",
        "locale": "en_US",
        "login_source": "comet_headerless_login",
        "next": "",
        "prefill_contact_point": "",
        "prefill_source": "",
        "prefill_type": "",
        "skstamp": "",
        "timezone": "420"
      },
      "credential_type": "password",
      "dyi_job_id": "",
      "enc_password": {
        "sensitive_string_value": "#PWD_BROWSER:5:1793033423:AfRQAAqu9n5hlyIfsu/nwPKDU2qoia0r/iBTUqP3uDkttuhPR5gRBmXYFNvNKJS5UTQaemZERcbs2Ysbc9Ozb+cbUBrHK4evrBlYcWA6ixrSJLAw4B27lckBZkkVOiLHgXqRkh+kVoKmSiENYlJI4TsYS6hj"
      },
      "event_request_id": "864c554f-8f30-46a7-bda9-996bc49b0023",
      "identifier": "jjsz4nr6wvvv@merepost.com",
      "ig_web_device_id": null,
      "initial_request_id": "1",
      "lids": null,
      "login_source": "LOGIN",
      "next": null,
      "passkey_payload": null,
      "persistent": true,
      "query_params": "{}",
      "trusted_device_records": "{}",
      "use_uid_to_login": false,
      "waterfall_id": "343c14ca-baf8-4090-bda0-840cc59411c6"
    },
    "scale": 1
  },
  "doc_id": "28077768681846394",
  "fb_api_analytics_tags": [
    "qpl_active_flow_ids=516759801"
  ]
}

Answered:

{
  "data": {
    "caa_login_web": {
      "error_code": 1348043,
      "error_message": {
        "text": "Something went wrong. Please try again.",
        "inline_style_ranges": [],
        "image_ranges": [],
        "ranges": [],
        "color_ranges": []
      },
      "error_style": "GENERIC_BANNER",
      "redirect_uri": "https://www.facebook.com/two_step_verification/two_factor/?encrypted_context=AWS0QH6zFAzqoaf8cmMG-QxAIJwr6xNoT4IvAm7Od7SN9ZjOg0wEicKif6oM7UeBuSgdOUcH9Bj4EY1uVha68_tOERoY3Osu504jJKti4gwzseGxv-h6jyxHrdVjQ2_zX50Krc-2YxJ34UZT2Cc59O_bbh76gTM5TRPLvBh_27mN0Mdh7r4Fr39o12u05Z6tUWwZcchdPVb4_EKcWUAhzECtUCZsbtMPILJc5sks5C1zKRaOu5oIICYk6B98qGrqVGWTrnauSqy7nhaUfDk9b8dbGhYy_Tn_ajZSgWJkgKSRJtaN5yNJyENiqvsw-ShC2zh… (914 chars)",
      "two_factor_result": null,
      "reg_nta_context": null,
      "is_3pl": null,
      "is_xapp_login": false,
      "recaptcha_needed": false,
      "is_ig_login_recaptcha": false,
      "should_show_profile_selector": false,
      "should_show_save_password_dialog": false,
      "captcha_persist_data": null,
      "crypted_uid": "AYgvWh_jt7YdXaOkBJXoRkbDW29RvJ7AcX9qVhIYtVDnMALIVV4zjWH6GwZMbT-BZO0YYFhNvGGL1X-_u_pDDnGyQu9x6SQP7eu4_hrHsO-LDqBkVZEFCjgwFC9by-73g_nhcBB7QIGNR-oAhTQZ0cdFD_obDU2wYHzYUXcXQWjpO-wvYe__O9r5bqwP3PMt1QgSmVx6F-svBIV09SNfTi8B|fetaaymh",
      "ig_nonce_refresh": null,
      "ig_trusted_device_nonce_refresh": null,
      "stop_deletion_payload": {
        "stop_deletion_nonce": null,
        "stop_deletion_date": null,
        "is_feta": true
      },
      "ig_authenticated": false,
      "ig_login_upsell_ar": null,
      "should_show_google_oauth_after_failure": false,
      "google_oauth_uri": null,
      "lara_recovery_redirect_uri": null,
      "lara_recovery_captcha_persist_data": null,
      "lara_recovery_captcha_cipher": null,
      "lara_recovery_method": null,
      "lara_recovery_cuid": null
    }
  },
  "extensions": {
    "server_metadata": {
      "request_start_time_ms": 1793033423035,
      "time_at_flush_ms": 1793033426478
    },
    "is_final": true
  }
}

What it does

The sign-in on Facebook's newer login page (/login/, the Comet "CDS" form): the password is sent as a GraphQL mutation instead of the old form POST (loginDeviceBasedRegularLogin). It fired 79 ms after the host's signIn pressed Enter and took 4.7 s. Its answer, caa_login_web, carries the outcome: error_code/error_message, redirect_uri, two_factor_result, recaptcha_needed.

What our machine does with it

The host's signIn actor (src/cli/host/helpers/hostActors.ts) and the inspect signIn step press Enter, then wait for the URL or the password field to change (up to 15 s) instead of a fixed time, because this request takes several seconds. Signed in is then decided by the c_user and xs cookies, never by this answer's wording.

What can go wrong

error_code set means the form came back (wrong password: wrongPassword). two_factor_result set means the two-step page follows (the code step). recaptcha_needed true means a captcha (rule 10's solvers). A redirect_uri to /checkpoint/ is the cause line for a checkpoint at sign-in. No sighting after Enter means the submit never left the page.