【问题标题】:JWT / JSON Web Token: Safe to pass the token in the body on creation?JWT / JSON Web 令牌:在创建时在正文中传递令牌是否安全?
【发布时间】:2017-09-15 08:21:33
【问题描述】:

我是智威汤逊的新手。我有一个用于创建会话的端点。我的移动应用程序发出了一个请求。目前我有它,这样当用户成功登录时,我会在 Authorization Bearer 标头中返回 JWT:

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

但是,从我的客户端读取这有点棘手。我在 JSON 响应中返回它是否安全?

【问题讨论】:

    标签: jwt


    【解决方案1】:

    当客户端将其凭据发送到服务器(以将其交换为令牌)时,最近发布的令牌可以在响应负载中以文本或 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 标头设计用于请求而不是响应

    【讨论】:

    猜你喜欢
    • 2016-07-20
    • 2016-08-01
    • 2018-11-12
    • 2017-04-16
    • 2013-11-28
    • 1970-01-01
    • 2019-12-19
    • 2019-07-25
    • 2020-11-13
    相关资源
    最近更新 更多