johannessteu/jwt-auth

此包的最新版本(v0.1.0)没有提供许可证信息。

jwt auth在流程中的示例实现

v0.1.0 2017-10-03 09:05 UTC

This package is auto-updated.

Last update: 2024-09-18 03:19:28 UTC


README

此包是一个简单的示例,说明如何在Neos Flow中实现jwt身份验证。有关JSON Web token本身的更多信息,请查看https://jwt.node.org.cn/introduction/

此机制是用于在Flow中签名API请求的一个很好的选择。

此包包含

JwtToken

此类代表JWT令牌。此令牌包含发送在请求中的JWT字符串。JWT字符串必须在X-JWT头中提供。负载本身必须包含一个属性accountIdentifier

JwtTokenProvider

JwtTokenProvider验证JwtToken。它首先检查令牌是否包含JWT字符串,然后尝试使用配置的共享密钥对其进行解码。如果可以解码负载,它将使用负载中的数据创建一个短暂的账户,并将此账户设置为已认证。

在Flow中从负载中获取数据

此演示实现将整个负载设置到已认证令牌中。要在您的Flow应用程序中访问数据

$authenticationToken = $this->securityContext->getAuthenticationTokensOfType(JwtToken::class)[0];
$jwtPayload = $authenticationToken->getPayload();
示例请求

这是一个有效的请求,将在Flow中使用角色JohannesSteu.JwtAuth:User进行认证

curl -H "X-JWT=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhY2NvdW50SWRlbnRpZmllciI6InNvbWUtYWNjb3VudCIsIm5hbWUiOiJKb2huIERvZSJ9.8slTfTqCRozgcby-As6KxeCb5Zq9zX3TmVUcJAgW328" http://your-app.com

要调试jwt字符串 点击此处。 输入共享密钥aSharedSecret以验证签名。