簡體   English   中英

HTTP基本身份驗證在使用node.js的Safari瀏覽器中無法正常工作?

[英]HTTP Basic Authentication not working in safari browser using node.js?

我目前正在使用node.js進行開發。我已經使用以下格式進行HTTP基本身份驗證:

https://開頭{用戶名}:{}密碼@(東道國)

目前,上述模式也可以在谷歌瀏覽器和mozilla firefox中使用,但不能在Safari瀏覽器中使用。 但是,我還在一些論壇上讀到,谷歌也將棄用此方法進行基本身份驗證。 因此,問題在於我們無法告訴用戶在任何瀏覽器中都放開其安全選項,因此在這種情況下,我如何遵循確切的模式或其他與我們的應用程序無關的其他Web網址的http基本身份驗證由我們的團隊也為其他應用創建的。

實際上,當我們訪問受保護的網站時,它將為我們提供彈出窗口,詢問用戶名和密碼,如下面所附的屏幕快照鏈接所示。 但我希望通過身份驗證,而不使用任何類型的代碼顯示彈出窗口。 請對此提供幫助。

如果您無法理解問題說明,請指導我更正有關問題的規范。

我已將我在Safari瀏覽器中收到的問題場景附在屏幕快照中。 Safari上的基本身份驗證

我需要適用於所有瀏覽器的可行且安全的適當解決方案。 提前致謝。

您也可以只使用fetch在其他api上進行身份驗證。

app.get("/sample", (req, res) => {
  console.log("enter into sample api");

  const username = "sample_uname",
    password = "sample_password";
    fetch('https://example.com/?username='+username+'&password='+password)
    .then(response=> {
        return response.json();
    })
    .then(json => {
        //Do what you want
        console.log(JSON.stringify(json));
    });
});

編輯:通過GET進行身份驗證不是最安全的方法,因為密碼會在網址中閃爍。 所以也許您應該使用POST

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM