summaryrefslogtreecommitdiff
path: root/vendor/github.com/pquerna/otp/otp.go
diff options
context:
space:
mode:
authorLibravatar kim <grufwub@gmail.com>2025-05-22 16:27:55 +0200
committerLibravatar kim <gruf@noreply.codeberg.org>2025-05-22 16:27:55 +0200
commitb6ff55662e0281c0d6e111f9307625ef695df2fa (patch)
tree5f7761efa0b51a7a7d56f96fce3681c8e9b66fe9 /vendor/github.com/pquerna/otp/otp.go
parent[chore/woodpecker] don't make `test` depend on `lint` (#4189) (diff)
downloadgotosocial-b6ff55662e0281c0d6e111f9307625ef695df2fa.tar.xz
[chore] update dependencies (#4188)
Update dependencies: - github.com/gin-gonic/gin v1.10.0 -> v1.10.1 - github.com/gin-contrib/sessions v1.10.3 -> v1.10.4 - github.com/jackc/pgx/v5 v5.7.4 -> v5.7.5 - github.com/minio/minio-go/v7 v7.0.91 -> v7.0.92 - github.com/pquerna/otp v1.4.0 -> v1.5.0 - github.com/tdewolff/minify/v2 v2.23.5 -> v2.23.8 - github.com/yuin/goldmark v1.7.11 -> v1.7.12 - go.opentelemetry.io/otel{,/*} v1.35.0 -> v1.36.0 - modernc.org/sqlite v1.37.0 -> v1.37.1 Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4188 Reviewed-by: Daenney <daenney@noreply.codeberg.org> Co-authored-by: kim <grufwub@gmail.com> Co-committed-by: kim <grufwub@gmail.com>
Diffstat (limited to 'vendor/github.com/pquerna/otp/otp.go')
-rw-r--r--vendor/github.com/pquerna/otp/otp.go27
1 files changed, 21 insertions, 6 deletions
diff --git a/vendor/github.com/pquerna/otp/otp.go b/vendor/github.com/pquerna/otp/otp.go
index 02b08f317..6d2ea6379 100644
--- a/vendor/github.com/pquerna/otp/otp.go
+++ b/vendor/github.com/pquerna/otp/otp.go
@@ -154,12 +154,7 @@ func (k *Key) Digits() Digits {
q := k.url.Query()
if u, err := strconv.ParseUint(q.Get("digits"), 10, 64); err == nil {
- switch u {
- case 8:
- return DigitsEight
- default:
- return DigitsSix
- }
+ return Digits(u)
}
// Six is the most common value.
@@ -183,6 +178,19 @@ func (k *Key) Algorithm() Algorithm {
}
}
+// Encoder returns the encoder used or the default ("")
+func (k *Key) Encoder() Encoder {
+ q := k.url.Query()
+
+ a := strings.ToLower(q.Get("encoder"))
+ switch a {
+ case "steam":
+ return EncoderSteam
+ default:
+ return EncoderDefault
+ }
+}
+
// URL returns the OTP URL as a string
func (k *Key) URL() string {
return k.url.String()
@@ -253,3 +261,10 @@ func (d Digits) Length() int {
func (d Digits) String() string {
return fmt.Sprintf("%d", d)
}
+
+type Encoder string
+
+const (
+ EncoderDefault Encoder = ""
+ EncoderSteam Encoder = "steam"
+)