check encrypt
This commit is contained in:
parent
36247362b0
commit
669d4e94cd
4
go.sum
4
go.sum
@ -4,10 +4,6 @@ gitea.pena/PenaSide/hlog v0.0.0-20241125221102-a54c29c002a9 h1:tBkXWNIt8icmkMMnq
|
||||
gitea.pena/PenaSide/hlog v0.0.0-20241125221102-a54c29c002a9/go.mod h1:sanhSL8aEsfcq21P+eItYiAnKAre+B67nGJmDfk2cf0=
|
||||
gitea.pena/PenaSide/linters-golang v0.0.0-20241207122018-933207374735 h1:jDVeUhGBTXBibmW5dmtJg2m2+z5z2Rf6J4G0LpjVoJ0=
|
||||
gitea.pena/PenaSide/linters-golang v0.0.0-20241207122018-933207374735/go.mod h1:gdd+vOT6up9STkEbxa2qESLIMZFjCmRbkcheFQCVgZU=
|
||||
gitea.pena/SQuiz/common v0.0.0-20250903090208-2fbd1b556911 h1:1VzRWsYYzVoMdNewLAopZajB7OukQrs3oKoONYTe2aA=
|
||||
gitea.pena/SQuiz/common v0.0.0-20250903090208-2fbd1b556911/go.mod h1:zCrUwDh0APpztKk6NUqTZv+zhjVbWpGBJiJ5z9dAH0U=
|
||||
gitea.pena/SQuiz/common v0.0.0-20251016081003-2570379dd06f h1:lEWOJbcMQFijve7gSZIF/nf4OfqgnE5AZQntRMZAoX8=
|
||||
gitea.pena/SQuiz/common v0.0.0-20251016081003-2570379dd06f/go.mod h1:zCrUwDh0APpztKk6NUqTZv+zhjVbWpGBJiJ5z9dAH0U=
|
||||
gitea.pena/SQuiz/common v0.0.0-20251121152952-1bc243df2c0b h1:k78BlCMIefxmvQ+mmskTS7QYEtxLYmrCZG0fVnSgJh0=
|
||||
gitea.pena/SQuiz/common v0.0.0-20251121152952-1bc243df2c0b/go.mod h1:zCrUwDh0APpztKk6NUqTZv+zhjVbWpGBJiJ5z9dAH0U=
|
||||
github.com/ClickHouse/clickhouse-go v1.5.4 h1:cKjXeYLNWVJIx2J1K6H2CqyRmfwVJVY1OV1coaaFcI0=
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
|
||||
"gitea.pena/SQuiz/bitrix/internal/service"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"go.uber.org/zap"
|
||||
@ -25,7 +27,13 @@ func (c *WebhookController) WebhookCreate(ctx *fiber.Ctx) error {
|
||||
return ctx.Status(fiber.StatusBadRequest).SendString("State cannot be empty")
|
||||
}
|
||||
|
||||
accountID, err := c.encrypt.DecryptStr([]byte(state))
|
||||
decodedState, err := base64.URLEncoding.DecodeString(state)
|
||||
if err != nil {
|
||||
c.logger.Error("Error decoding state", zap.Error(err))
|
||||
return ctx.Status(fiber.StatusBadRequest).SendString("Invalid state encoding")
|
||||
}
|
||||
|
||||
accountID, err := c.encrypt.DecryptStr(decodedState)
|
||||
if err != nil {
|
||||
c.logger.Error("Error deserializing Protobuf message", zap.Error(err))
|
||||
return ctx.Status(fiber.StatusInternalServerError).SendString("Failed to process state parameter")
|
||||
|
||||
@ -3,11 +3,13 @@ package service
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"encoding/base64"
|
||||
"net/url"
|
||||
|
||||
"gitea.pena/SQuiz/bitrix/internal/models"
|
||||
"gitea.pena/SQuiz/common/model"
|
||||
"gitea.pena/SQuiz/common/pj_errors"
|
||||
"go.uber.org/zap"
|
||||
"net/url"
|
||||
)
|
||||
|
||||
func (s *Service) UpdateListUsers(ctx context.Context, accountID string) error {
|
||||
@ -62,6 +64,8 @@ func (s *Service) ConnectAccount(ctx context.Context, accountID string, clientBi
|
||||
s.logger.Error("error encrypting account state", zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
|
||||
encodedState := base64.URLEncoding.EncodeToString(state)
|
||||
|
||||
oauthURL := url.URL{
|
||||
Scheme: "https",
|
||||
@ -69,7 +73,7 @@ func (s *Service) ConnectAccount(ctx context.Context, accountID string, clientBi
|
||||
Path: "/oauth/authorize/",
|
||||
RawQuery: url.Values{
|
||||
"client_id": {s.config.BitrixIntegrationID},
|
||||
"state": {string(state)},
|
||||
"state": {encodedState},
|
||||
}.Encode(),
|
||||
}
|
||||
|
||||
|
||||
72
tests/unit/encrypt_test.go
Normal file
72
tests/unit/encrypt_test.go
Normal file
@ -0,0 +1,72 @@
|
||||
package unit
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"gitea.pena/PenaSide/common/encrypt"
|
||||
)
|
||||
|
||||
func Test_Encrypt(t *testing.T) {
|
||||
encr := &encrypt.Encrypt{
|
||||
PubKey: `-----BEGIN PUBLIC KEY-----
|
||||
MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAn/Q3CKvaxK4YR3N3Iy8O
|
||||
IOs218oDQIwoHpmRh3a9V+vTEqT+rY8/Dkf5cnbTMuEBFP1NYtS+pcSFF7nLlZdm
|
||||
Vb6rhtjLCV0awogeWxJsXCHBOHF7Fv4iqDa85qMwl7XiVXxKo/9kH9TkPsgFsuYt
|
||||
vL4Xc1u6ogoYeVHP7ULDMxgmdLd2N9VIVphxsiGDq304NbgWFVr47/J3x3DU0bw+
|
||||
F5QdI7ScU/m4T3S0WlhFaG0hblVbH8x+8U81F9OIyJCX9tGZYb6eR3v1pnWP191L
|
||||
kpJPSlj9cPPJhl3d6bCyYzGv6k8KQClSs8lsSklPrcXl0ut3raC+oEFp2JkHQL7R
|
||||
UlwPr2ZOt9DTTs7l70gvr8FswO4/N6+t+6spce2s3lwN41BWGWHYcc9PuOHqUQTw
|
||||
J3IQQU6NmAyZOjDiZJw7uoNG2rtCqWQRykTULZvtfxh3lMXI/qKM1em+Qo3AZnKC
|
||||
Y01xhCr4ahPs9Rb4eReigTJSzq+IRSJa1+xPaR4dNm6tAgMBAAE=
|
||||
-----END PUBLIC KEY-----`,
|
||||
PrivKey: `-----BEGIN RSA PRIVATE KEY-----
|
||||
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
|
||||
-----END RSA PRIVATE KEY-----`,
|
||||
}
|
||||
state, err := encr.EncryptStr("6755b1ddd5802e9f13663f56")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Log(string(state))
|
||||
state2, err := encr.DecryptStr(state)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Log(string(state2))
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user