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 发送示例请求。