webapi jwt example
v1.0
git clone https://github.com/GLEBR1K/webapi-jwt-example jwt
cd jwt W ebAPI_Example
dotnet run尝试使用POST /api/register注册并获取 JWT 令牌:
> curl http://localhost:8080/api/register -H ' Content-type: application/json ' -d ' { Email: "$EMAIL", Password: "$PASSWORD" } '
{ " succeeded " :true, " token " : " eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbEBleGFtcGxlLmxvY2FsIiwianRpIjoiNGE0NzQzYWMtZDU5Yi00NjI3LThhMmEtN2JkZjAxMTQyODk4IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvbmFtZWlkZW50aWZpZXIiOiJkYjVmNWEwMC0xYzNiLTQ1MDYtOTE3YS02NWJlODJmYTg2MmQiLCJleHAiOjE1Mjk2OTgyNjIsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6NTkxMjQvIiwiYXVkIjoiaHR0cDovL2xvY2FsaG9zdDo1OTEyNC8ifQ.ZZreutgH3FgKy173cwiBj9jRVZPD9_gdoYLwgpDkST4 " }尝试使用POST /api/login登录并获取 JWT 令牌。
> curl http://localhost:8080/api/login -H ' Content-type: application/json ' -d ' { Email: "$EMAIL", Password: "$PASSWORD" } '
{ " succeeded " :true, " token " : " eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlbWFpbEBleGFtcGxlLmxvY2FsIiwianRpIjoiNGE0NzQzYWMtZDU5Yi00NjI3LThhMmEtN2JkZjAxMTQyODk4IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvbmFtZWlkZW50aWZpZXIiOiJkYjVmNWEwMC0xYzNiLTQ1MDYtOTE3YS02NWJlODJmYTg2MmQiLCJleHAiOjE1Mjk2OTgyNjIsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6NTkxMjQvIiwiYXVkIjoiaHR0cDovL2xvY2FsaG9zdDo1OTEyNC8ifQ.ZZreutgH3FgKy173cwiBj9jRVZPD9_gdoYLwgpDkST4 " }使用GET /api/public访问公共页面,它返回随机值。
> curl http://localhost:8080/api/public
{ " value " :737}使用GET /api/protected访问受保护页面,这需要 JWT 令牌。
> curl http://localhost:8080/api/protected -H ' Authorization: Bearer $TOKEN '
{ " value " :769}您可以使用命令行(如curl )或其他应用程序(如Postman )测试应用程序。
将集合(来自TestsPostmanCollection.json )和全局变量(来自TestsPostmanVariables.json )导入 Postman。
在全局变量面板中编辑Email 、 Password和Token 。
现在您可以从 Postman 发送示例请求。