为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
HUWWW 2023-06-26 15:37:43
我在 Go 中有一个 HTTP 服务器,当客户端尝试登录时,我必须验证凭据,作为回报,我想发送成功或失败。稍后,如果有任何请求,我需要使用生成的 tokenID 对其进行身份验证,成功后我必须发送一个文件。我已经尝试过使用 cookie 进行上述操作。但打开 cookies 选项卡时 cookies 值是可见的。所以我需要发送加密cookie。如果可能的话,请告诉我一种方法。
查看完整描述

3 回答

?
米脂

TA贡献1836条经验 获得超3个赞

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



查看完整回答
反对 回复 2023-06-26
?
郎朗坤

TA贡献1921条经验 获得超9个赞

错误:=“http:多余的响应。WriteHeader 调用”。出现此错误是因为您无法为一个请求发送两个响应。


实现您想要做的事情的最佳方法是使用 cookie。以 cookies 和 Bingo 的形式发送数据。您的工作将在没有错误/警告的情况下完成。


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,稍后您可以访问它。这是实现您想要的目标的正确方法。


查看完整回答
反对 回复 2023-06-26
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

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


像这样:


{

  "username": "xxxx",

  "password": "xxxx",

  "file": "file uri"

}


查看完整回答
反对 回复 2023-06-26
  • 3 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信