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.