aboutsummaryrefslogtreecommitdiffstats
path: root/spec/util_jwt_spec.lua
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2020-02-24 01:24:25 +0100
committerKim Alvefur <zash@zash.se>2020-02-24 01:24:25 +0100
commit0bcbbed75359c7460463e6f33b81a74dcb1b801f (patch)
treeca0a816da0312b741fa33f69b38aad3faedd7dbf /spec/util_jwt_spec.lua
parent8d04879adfbe5d4039a14c5bd10e95ee4b051566 (diff)
downloadprosody-0bcbbed75359c7460463e6f33b81a74dcb1b801f.tar.gz
prosody-0bcbbed75359c7460463e6f33b81a74dcb1b801f.zip
util.jwt: Basic JSON Web Token library supporting HS256 tokens
Diffstat (limited to 'spec/util_jwt_spec.lua')
-rw-r--r--spec/util_jwt_spec.lua20
1 files changed, 20 insertions, 0 deletions
diff --git a/spec/util_jwt_spec.lua b/spec/util_jwt_spec.lua
new file mode 100644
index 00000000..5e688f7b
--- /dev/null
+++ b/spec/util_jwt_spec.lua
@@ -0,0 +1,20 @@
+local jwt = require "util.jwt";
+
+describe("util.jwt", function ()
+ it("validates", function ()
+ local key = "secret";
+ local token = jwt.sign(key, { payload = "this" });
+ assert.string(token);
+ local ok, parsed = jwt.verify(key, token);
+ assert.truthy(ok)
+ assert.same({ payload = "this" }, parsed);
+ end);
+ it("rejects invalid", function ()
+ local key = "secret";
+ local token = jwt.sign("wrong", { payload = "this" });
+ assert.string(token);
+ local ok, err = jwt.verify(key, token);
+ assert.falsy(ok)
+ end);
+end);
+