JWT授权正确的方式

我正在开发一个包含3个应用程序的平台,可能会是4个。</ p>

第一个是客户网站,使用phalconPHP制作,第二个是客户内联网,他可以管理他的网站,有管理员,我可以在那里创建新网站和管理我的客户。</ p> \ n

最后一个是API,一切都应该可以通过API访问。</ p>

我的初步计划是使用JWT作为授权方法,我有些疑惑。</ p>

1.-一旦创建了JWT令牌,我需要将它存储在客户端的某个地方,以便我可以在每个新请求上发送,我不知道的是存储在哪里 PHP可以访问它,Javascript也可以访问它,以便我可以使用令牌发出AJAX请求。</ p>

我需要一种方法来以安全的方式实现这一点,HTTPS将始终 在我的应用程序中使用,但有一个问题,我不知道如何解决。</ p>

我再说一遍,JWT令牌应该是ac JS和PHP都兼顾。 如何以安全的方式执行此操作?</ p>

此外,我正在考虑将PHP_session_id添加到JWT有效负载中,并添加自动续订,这意味着令牌仅对有用 用于登录的“用户”。 这种方法是否安全?</ p>

希望你能帮助我。</ p>

谢谢</ p>
</ div>

展开原文

原文

I am developing a platform that has 3 applications, probably going to be 4.

First one is the client website, made using phalconPHP, second one is the clients intranet, where he can manage his website, the there is the administrator, where I can create new websites and manage my customers.

Last one is the API, everything should be accesible via API too.

My initial plan is to use JWT as authoritzation method, I have some doubts thought.

1.- Once JWT token has been created, I need to store it somewhere on the client so that I can be sent on every new request, what I don't know is where to store so that PHP can access it and Javascript can access it too so that I can make AJAX requests with the token.

I need a way to make this possible in a secure way, HTTPS will be always used in my app, but there is this one problem that I'm not sure how to solve.

I repeat, JWT token should be accesible by both, JS and PHP. How do I do this in a secure way?

Also, I was thinking about adding the PHP_session_id into the JWT payload, and add auto-renew too, that means that a token is usefull only for "user" that made the log-in. Is this aproach secure?

Hope you can help me.

Thanks

duai8153
duai8153 所以结论是没有办法在客户端上安全地存储JWT令牌,以便Javascript和PHP都能访问它?这意味着我必须自己处理csrf和xss防御机制?提前感谢拉斐尔
接近 5 年之前 回复
duancutan4770
duancutan4770 实际上,如果没有设置HttpOnly标志,你可以。我认为博客文章中的讨论是关于xsrf和xss,我认为如果不使用该标志也可能发生。但这只是我的意见。
接近 5 年之前 回复
duanping2695
duanping2695 我发现之前的帖子,但在一个普通的应用程序甚至认为大多数数据将被读取的PHP请求,将有一些AJAX请求。我无法相信我是唯一需要通过PHP请求和AJAX请求发送JWT令牌的人,有人必须找到一种方法让令牌可用于两者。
接近 5 年之前 回复
dongnai6973
dongnai6973 看看他们描述的这个链接非常好。如果你只需要发送php请求,我认为要走的路是cookie,因为使用php你无法读取html5存储。
接近 5 年之前 回复
doudianhuo1129
doudianhuo1129 知道了谢谢。现在重要的部分,我在哪里存储JWT所以用PHP完成的Javascript和客户端应用程序都可以安全地访问它?
接近 5 年之前 回复
duandong1963
duandong1963 这正是国家。如果您使用负载均衡器或类似设备,并且请求转到另一台服务器,则您的令牌将无效。令牌的到期时间应该非常短,并且还应该有另一个重发令牌,您可以在其中更新实际的有效令牌。
接近 5 年之前 回复
dsa1230000
dsa1230000 不是这样,我想当用户登录时,phpssid应该与用户名和密码一起发送,然后如果登录成功,phpssid将被包含在JWT有效载荷中,这样我可以确保如果有人窃取它将是无用的JWT令牌。
接近 5 年之前 回复
dtxpz8785
dtxpz8785 由于您打算使用JWT,因此您的服务器不应使用PHPSSID,因为您的服务器应该是无状态的。
接近 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐