首页 文章

JWT / JSON Web令牌:在创建时可以安全地传递正文中的令牌吗?

提问于
浏览
2

我是JWT的新手 . 我有一个会话创建 endpoints . 我的移动应用程序发出了请求 . 目前我已经拥有它,以便当用户成功登录时,我会在Authorization Bearer标头中返回JWT:

new_conn
|> put_status(:created)
|> put_resp_header("authorization", "Bearer #{jwt}") #<-----------
|> render("show.json", session: user)

但是,从我的客户端读取这有点棘手 . 我可以安全地在JSON响应中返回它吗?

1 回答

  • 5

    当客户端将其凭证发送到服务器(以交换它们作为令牌)时,最近发布的令牌可以作为文本或JSON在响应有效负载中返回,这取决于您:

    HTTP/1.1 200 OK
    Date: Wed, 19 Apr 2017 09:51:12 GMT
    Content-Type: text/plain
    
    xxxxx.yyyyy.zzzzz
    
    HTTP/1.1 200 OK
    Date: Wed, 19 Apr 2017 09:51:12 GMT
    Content-Type: application/json
    
    { "token" : "xxxxx.yyyyy.zzzzz" }
    

    您必须记住的是客户端和服务器之间的通信:必须通过HTTPS完成,以确保消息不会被篡改 .


    当客户端将令牌发送到服务器时,它应该在Authorization标头中发送(再次通过HTTPS):

    GET /api/greetings HTTP/1.1
    Host: example.org
    Authorization: Bearer xxxxx.yyyyy.zzzzz
    

    Authorization标头应该带有凭据 . 在谈论基于令牌的身份验证架构时,令牌是凭证,通常以 Bearer 为前缀,表示身份验证架构 . 这个answer将对此有所了解 .

    最后,值得一提的是Authorization标头设计用于请求而不是响应 .

相关问题