如何验证客户端完成的 http 请求的任何登录?

How can I Authenticate any login for a http request done by client?

我在 Go 中有一个 HTTP 服务器,当客户端尝试登录时,我必须验证凭据,在 return 中,我想发送成功或失败。稍后如果有任何请求,我需要使用生成的 tokenID 对其进行身份验证,成功后我必须发送一个文件。

我已经尝试过使用 cookie 进行上述操作。但是打开 cookies 选项卡时可以看到 cookies 值。所以我需要发送加密 cookie。如果可能的话,请告诉我一个方法。

发送用户名和密码是一种回应,提供文件也是一种回应。您不能在 once.You 发送两个单独的响应,可以发送一个对象作为响应,其中包含用户名密码和服务器中文件的 url。

您只需发送一个响应,但我们可以将多部分响应与某种模式合并为一个。

像这样:

{
  "username": "xxxx",
  "password": "xxxx",
  "file": "file uri"
}

错误:="http: superfluous response.WriteHeader call"。 出现此错误是因为您无法为一个请求发送两个响应。

实现您的目标的最佳方式是使用 cookie。以 cookie 和 Bingo 的形式发送数据。您的工作将在没有 errors/warnings.

的情况下完成
expiration := time.Now().Add(time.Second * time.Duration(1000))
cookie := http.Cookie{Name: "Token", Value: "username", Expires: expiration}
http.SetCookie(w, &cookie)
usercookie := http.Cookie{Name: "usercookie", Value: "username", Expires: expiration}
http.SetCookie(w, &usercookie)
http.ServeFile(w, r, r.URL.Path[1:])

此代码将创建一个 cookie,稍后您可以访问它。这是实现您想要的目标的正确方法。