@jundayw/axios-signature
v1.1.1
Published
A lightweight Axios interceptor that automatically adds signature authentication (HMAC-SHA1/SHA256/SHA512, MD5, etc.) to outgoing requests. Protect your API with data integrity and anti‑tampering mechanisms.
Maintainers
Readme
Request Signing Interceptor for Axios
A lightweight Axios interceptor that automatically adds signature authentication (HMAC-SHA1/SHA256/SHA512, MD5, etc.) to outgoing requests. Protect your API with data integrity and anti‑tampering mechanisms.
Installation
You can install the package via npm:
npm install @jundayw/axios-signatureUsage
Request Signing Interceptor
import Signature from '@jundayw/axios-signature';
axios.interceptors.request.use(
(config) => {
return new Signature(
import.meta.env.VITE_APP_ID,
import.meta.env.VITE_APP_KEY
).signature(config);
},
(error) => {
return Promise.reject(error);
}
);Request
axios({
url: '/utils/ping/ping',
method: 'post',
data: {
'type': 'password',
'username': 'admin',
'password': '12**56',
'remember': false,
},
// Optional, overrides global configuration
// params: {
// app_id: '202603161735',
// timestamp: new Date().toISOString(),
// type: 'md5',
// action: 'utils.ping.ping',
// charset: 'UTF-8',
// format: 'JSON',
// method: 'POST',
// version: '1.0.0',
// }
});Request automatic signing
POST /utils/ping/ping?app_id=202603161735×tamp=2026-04-14T03:07:18.877Z&type=md5&action=febd3064e3499f401516eaaacf9575b3&charset=UTF-8&format=JSON&method=post&version=1.0.0&signature=66a9f858978a89ae192f9ee496df9c71 HTTP/1.1
Accept: application/json
Accept-Encoding: gzip, deflate, br
User-Agent: PostmanRuntime-ApipostRuntime/1.1.0
Connection: keep-alive
Content-Type: application/json
Host: 127.0.0.1:8989
Content-Length: 75
{"type":"password","username":"admin","password":"12**56","remember":false}Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Contributors
Thanks goes to these wonderful people:
Contributions of any kind are welcome!
License
Distributed under the MIT License (MIT). Please see [License File] for more information.
