johannessteu / jwt-auth
此包的最新版本(v0.1.0)没有提供许可证信息。
jwt auth在流程中的示例实现
v0.1.0
2017-10-03 09:05 UTC
Requires
- firebase/php-jwt: ~4.0.0
- neos/flow: *
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
以验证签名。