【发布时间】:2019-01-06 03:57:26
【问题描述】:
因此,不幸的是,我仍在尝试很好地掌握我的应用程序必须经过的流程才能提供身份验证。所以我打算制作一个带有 PHP 后端的 Angular 应用程序。要获得 JWT,用户将提供他们的电子邮件/密码作为 HTTP 发布请求的正文,该请求将发送到 PHP 文件。
在该文件中,将访问数据库以检查其凭据,如果它们有效,则需要向它们提供 JWT。我的问题是,我将如何将该 JWT 令牌发送到前端?
我想做一个简单的
echo json_encode($jwt)是个坏主意。我可以使用 PHP 的 setcookie() 发送一个 cookie 以及其余的 HTTP 标头。我可以将该 cookie 设置为 httpOnly 以使其更加安全,但我需要添加另一个 cookie 以防止 XSRF 攻击。
1234563但是我是否也可以使用 Bearer 身份验证方案并使用该 Authorization HTTP 标头将新创建的 JWT 令牌从 PHP 文件传递给 Angular?
对不起,如果这有点令人困惑。如果您有任何问题,请发表评论。
【问题讨论】:
-
只是不要在
$jwt中包含任何过于敏感的数据,并在用户登录时将其发送回您的 ajax 响应中。然后使用它来签署所有后续调用(在标题中)会议。您应该使用库来解析每个请求(服务器端)上的$jwt,如果检测到任何篡改,则中止调用并采取任何必要的措施。 -
这是否可以防止 CSRF 攻击?