将数据发布到 Silex 应用程序(使用 cnam/security-jwt-service-provider 的 jwt 身份验证)
Posting data to Silex app ( jwt authentication using cnam/security-jwt-service-provider )
我正在使用 silex 微框架创建 Web 服务。这是我第一次使用它,我对 symfony 没有任何先验知识。我能够理解 silex 的工作原理以及如何编写控制器提供程序、服务提供程序等..
我无法为我的网络服务制定身份验证。
我想使用 JWT 身份验证,我发现这个 cnam/security-jwt-service-provider 扩展 firebase/php-jwt.
我设置正确,当我访问受保护的资源时得到这个输出
{"message":"A Token was not found in the TokenStorage."}
这是正确的。
问题:我想post申请用户名和密码并取回令牌。 (用户名=admin,密码=foo)
我正在使用 postman chrome 扩展(也使用 Advanced rest client)将 post 值变为 url(http://silex.dev/api/login)
Post 我正在发送的数据
键=>用户名值=>管理员
密钥=> 密码值=> foo
我也试过了
Key=>_usernameValue=>admin
键=> _密码值=> foo
Aldo 在基本身份验证中尝试了密钥值对 headers。
响应我得到 id
{
"success": false,
"error": "Invalid credentials"
}
当我调试应用程序时,我根本看不到 post 数据。
$vars = json_decode($request->getContent(), true);
我得到 null $var.
PS:我知道如果我得到这些值 post 正确,我将得到一个有效的令牌,因为我在断点中将值从空值编辑为正确值。
显然我应该以 json 格式发送数据并且应该设置内容类型 appication/json
例如:
{
"_username":"admin",
"_password":"foo"
}
响应会像
{
success: true
token: "eyJ0eXAiOisKV1diLCJfbGgiOhJIjzI1NiJ9.eyJuYW1lIjoiYWRtaW4iLCJleHAiOjE0Mzk5MDUxMjh9.DMdXAv2Ay16iI1UQbHZABLCU_gsD_j9-gEU2M2L2MFQ"
}
我正在使用 silex 微框架创建 Web 服务。这是我第一次使用它,我对 symfony 没有任何先验知识。我能够理解 silex 的工作原理以及如何编写控制器提供程序、服务提供程序等..
我无法为我的网络服务制定身份验证。 我想使用 JWT 身份验证,我发现这个 cnam/security-jwt-service-provider 扩展 firebase/php-jwt.
我设置正确,当我访问受保护的资源时得到这个输出
{"message":"A Token was not found in the TokenStorage."}
这是正确的。
问题:我想post申请用户名和密码并取回令牌。 (用户名=admin,密码=foo) 我正在使用 postman chrome 扩展(也使用 Advanced rest client)将 post 值变为 url(http://silex.dev/api/login)
Post 我正在发送的数据
键=>用户名值=>管理员 密钥=> 密码值=> foo
我也试过了
Key=>_usernameValue=>admin 键=> _密码值=> foo
Aldo 在基本身份验证中尝试了密钥值对 headers。
响应我得到 id
{
"success": false,
"error": "Invalid credentials"
}
当我调试应用程序时,我根本看不到 post 数据。 $vars = json_decode($request->getContent(), true); 我得到 null $var.
PS:我知道如果我得到这些值 post 正确,我将得到一个有效的令牌,因为我在断点中将值从空值编辑为正确值。
显然我应该以 json 格式发送数据并且应该设置内容类型 appication/json
例如:
{
"_username":"admin",
"_password":"foo"
}
响应会像
{
success: true
token: "eyJ0eXAiOisKV1diLCJfbGgiOhJIjzI1NiJ9.eyJuYW1lIjoiYWRtaW4iLCJleHAiOjE0Mzk5MDUxMjh9.DMdXAv2Ay16iI1UQbHZABLCU_gsD_j9-gEU2M2L2MFQ"
}