javascript - Att använda fetch() med en bärartoken och mode: 'no-cors' ger 401 Unauthorized


Jag försöker hämta data från ett API genom att göra detta:

  const url = `https://......`

  console.log('DEBUG TOKEN', `Bearer ${token}`) // is correct
  const response = await fetch(url, {
    method: 'POST',
    mode: 'no-cors',
    headers: {
      'Content-Type': 'application/json',
      Authorization: `Bearer ${token}`,
    },
    body: JSON.stringify(postString),
  })

Problemet är att det returnerar ett 401 (obehörig) fel. Om jag gör samma förfrågan med curl, fungerar det:

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ........asdfasdf....." \
  -d '{"my":"json","data":"here"}' \
  "https://......"

Jag använder samma payload, token och adress för både fetch() och curl.

Vad är fel med min fetch()-kod här?

Svar #1

Problemet är

    mode: 'no-cors',

Såvitt jag förstår tar den också bort auktoriseringshuvuden. Utan det fungerar det.