kio is a secure io demonstration, for Token-based RSocket Communication.
- program language-agnostic interface
- authentication and authorization
- versioning api
- tracing and accounting
- status code
- blacklist
api | description | interaction model | role |
---|---|---|---|
signin | take and authenticate principal/credential, sign, save and return Access Token and Refresh Token | Request/Response | all |
signout | take and verify Access Token from Header, revoke it from DB | Fire-and-Forget | authenticated |
refresh | take and verify Refresh Token from payload, sign, save and return Access Token and Refresh Token | Request/Response | all |
info | take and verify Access Token from Header, authorize and return employee info | Request/Response | user,admin |
list | take and verify Access Token from Header, authorize and return list of employee | Request/Stream | user,admin |
hire | take and verify Access Token from Header, authorize and save new employee | Request/Response | admin |
fire | take and verify Access Token from Header, authorize and remove the employee | Request/Response | admin |
- webflux: http 8989
- rsocket: tcp 7878
- Java/SpringBoot
- Golang
- Rust
- Node|Deno
choose either of them
just needs additional installation (
brew install just
)
bash build.sh
just b
bash start_responder.sh
just s
bash run_requester.sh
just q
bash run_go_requester.sh
just gq
bash run-rust-requester.sh
just rq
curl_test.sh