diff options
| author | Shulhan <ms@kilabit.info> | 2026-03-28 22:00:24 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2026-03-29 16:34:48 +0700 |
| commit | 3a3bb2c3b9be26336791bd0dbc450f9e6b2865c7 (patch) | |
| tree | 1af6402bbd8775bb712b71b1cd2c1bb7b45ddbbc /lib/paseto/v4/local_mode_example_test.go | |
| parent | 52fea4323e2332fa75e99beeea1c108981dceb94 (diff) | |
| download | pakakeh.go-3a3bb2c3b9be26336791bd0dbc450f9e6b2865c7.tar.xz | |
paseto/v4: implements local protocol for paseto version 4
paseto/v4 provides a simple, ready to use, opinionated
implementation of Platform-Agnostic SEcurity TOkens (PASETO) version 4
as defined in [paseto-v4].
[paseto-v4]: https://github.com/paseto-standard/paseto-spec/blob/master/docs/01-Protocol-Versions/Version4.md
Diffstat (limited to 'lib/paseto/v4/local_mode_example_test.go')
| -rw-r--r-- | lib/paseto/v4/local_mode_example_test.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/paseto/v4/local_mode_example_test.go b/lib/paseto/v4/local_mode_example_test.go new file mode 100644 index 00000000..a9708935 --- /dev/null +++ b/lib/paseto/v4/local_mode_example_test.go @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: BSD-3-Clause +// SPDX-FileCopyrightText: 2026 M. Shulhan <ms@kilabit.info> + +package pasetov4 + +import ( + "encoding/hex" + "fmt" + "log" +) + +func ExampleLocalMode() { + secret := `707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f` + key, err := hex.DecodeString(secret) + if err != nil { + log.Fatal(err) + } + lmode := NewLocalMode([32]byte(key)) + plain := []byte(`{"data":"Hello, secret!"}`) + footer := []byte(`{"kid":1000}`) + token, err := lmode.Encrypt(plain, footer, nil) + if err != nil { + log.Fatal(err) + } + + gotPlain, gotFooter, err := lmode.Decrypt(token, nil) + if err != nil { + log.Fatal(err) + } + fmt.Println(string(gotPlain)) + fmt.Println(string(gotFooter)) + + // Output: + // {"data":"Hello, secret!"} + // {"kid":1000} +} |
