如何为获取 API 继承基页的基本身份验证凭据?

How to inherit Basic Authentication credentials of the base page for the fetch API?

我在本地系统上开发了一个小型 Web 应用程序的 https 演示。现在我将它部署在基本身份验证后面,因为它不是 public 演示。

现在我遇到了一个问题:应用程序使用了 Fetch API。

首先我认为fetch()继承了基础页面的基本认证。但不是! fetch API 似乎什么都不知道。

我知道如何为获取创建必要的基本身份验证 headers。这并不难。我有一个不同的问题:

如何继承基本页面的基本身份验证凭据以获取 API?

基本原理:这是一个非常小的应用程序,我不想通过可能的基本身份验证配置使其复杂化。我也不想在演示中对凭据进行硬编码。我只想从发起提取的基页继承凭据。

如果您在初始化 fetch() 时设置 credentials 属性,它将继承页面的基本身份验证属性:

// can be omit, same-origin, or include
fetch( myURL, { credentials: 'same-origin' } ).then(...)

有关初始化参数的完整列表,请参阅https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters