diff --git a/.gitignore b/.gitignore index 0a56a16..602c99c 100644 --- a/.gitignore +++ b/.gitignore @@ -2,5 +2,6 @@ go.sum account/ gen_result/ -etc/service.yaml -client/ \ No newline at end of file +etc/permission.yaml +client/ +.DS_Store \ No newline at end of file diff --git a/Makefile b/Makefile index 30110df..1cad38c 100644 --- a/Makefile +++ b/Makefile @@ -19,7 +19,7 @@ fmt: # 格式優化 .PHONY: gen-rpc gen-rpc: # 建立 rpc code - goctl rpc protoc ./generate/protobuf/service.proto -m --style=$(GO_ZERO_STYLE) --go_out=./gen_result/pb --go-grpc_out=./gen_result/pb --zrpc_out=. + goctl rpc protoc ./generate/protobuf/permission.proto -m --style=$(GO_ZERO_STYLE) --go_out=./gen_result/pb --go-grpc_out=./gen_result/pb --zrpc_out=. go mod tidy @echo "Generate core-api files successfully" diff --git a/generate/protobuf/service.proto b/generate/protobuf/permission.proto similarity index 100% rename from generate/protobuf/service.proto rename to generate/protobuf/permission.proto diff --git a/go.mod b/go.mod index d1810d9..8c17682 100644 --- a/go.mod +++ b/go.mod @@ -7,6 +7,7 @@ require ( code.30cm.net/digimon/library-go/validator v1.0.0 code.30cm.net/wanderland/library-go/errors v1.0.1 github.com/golang-jwt/jwt/v4 v4.5.0 + github.com/google/uuid v1.6.0 github.com/zeromicro/go-zero v1.7.0 go.uber.org/mock v0.4.0 google.golang.org/grpc v1.65.0 @@ -40,7 +41,6 @@ require ( github.com/google/gnostic-models v0.6.8 // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/google/gofuzz v1.2.0 // indirect - github.com/google/uuid v1.6.0 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect diff --git a/internal/logic/tokenservice/cancel_token_by_device_id_logic.go b/internal/logic/tokenservice/cancel_token_by_device_id_logic.go index f24b3f2..471eb5e 100644 --- a/internal/logic/tokenservice/cancel_token_by_device_id_logic.go +++ b/internal/logic/tokenservice/cancel_token_by_device_id_logic.go @@ -1,9 +1,10 @@ package tokenservicelogic import ( - ers "code.30cm.net/digimon/library-go/errors" "context" + ers "code.30cm.net/digimon/library-go/errors" + "app-cloudep-permission-server/gen_result/pb/permission" "app-cloudep-permission-server/internal/svc" diff --git a/internal/logic/tokenservice/cancel_token_logic.go b/internal/logic/tokenservice/cancel_token_logic.go index 6a57053..1bbe893 100644 --- a/internal/logic/tokenservice/cancel_token_logic.go +++ b/internal/logic/tokenservice/cancel_token_logic.go @@ -1,9 +1,10 @@ package tokenservicelogic import ( - ers "code.30cm.net/digimon/library-go/errors" "context" + ers "code.30cm.net/digimon/library-go/errors" + "app-cloudep-permission-server/gen_result/pb/permission" "app-cloudep-permission-server/internal/svc" diff --git a/internal/logic/tokenservice/cancel_tokens_logic.go b/internal/logic/tokenservice/cancel_tokens_logic.go index c905f3e..d1bfd9d 100644 --- a/internal/logic/tokenservice/cancel_tokens_logic.go +++ b/internal/logic/tokenservice/cancel_tokens_logic.go @@ -1,9 +1,10 @@ package tokenservicelogic import ( - ers "code.30cm.net/digimon/library-go/errors" "context" + ers "code.30cm.net/digimon/library-go/errors" + "app-cloudep-permission-server/gen_result/pb/permission" "app-cloudep-permission-server/internal/svc" diff --git a/internal/logic/tokenservice/get_user_tokens_by_device_id_logic.go b/internal/logic/tokenservice/get_user_tokens_by_device_id_logic.go index bc42943..2281b21 100644 --- a/internal/logic/tokenservice/get_user_tokens_by_device_id_logic.go +++ b/internal/logic/tokenservice/get_user_tokens_by_device_id_logic.go @@ -2,9 +2,10 @@ package tokenservicelogic import ( "app-cloudep-permission-server/internal/domain" - ers "code.30cm.net/digimon/library-go/errors" "context" + ers "code.30cm.net/digimon/library-go/errors" + "app-cloudep-permission-server/gen_result/pb/permission" "app-cloudep-permission-server/internal/svc" diff --git a/internal/logic/tokenservice/get_user_tokens_by_uid_logic.go b/internal/logic/tokenservice/get_user_tokens_by_uid_logic.go index 251ba08..f0435a9 100644 --- a/internal/logic/tokenservice/get_user_tokens_by_uid_logic.go +++ b/internal/logic/tokenservice/get_user_tokens_by_uid_logic.go @@ -2,9 +2,10 @@ package tokenservicelogic import ( "app-cloudep-permission-server/internal/domain" - ers "code.30cm.net/digimon/library-go/errors" "context" + ers "code.30cm.net/digimon/library-go/errors" + "app-cloudep-permission-server/gen_result/pb/permission" "app-cloudep-permission-server/internal/svc" diff --git a/internal/logic/tokenservice/new_one_time_token_logic.go b/internal/logic/tokenservice/new_one_time_token_logic.go index d2ba695..3480c00 100644 --- a/internal/logic/tokenservice/new_one_time_token_logic.go +++ b/internal/logic/tokenservice/new_one_time_token_logic.go @@ -3,11 +3,12 @@ package tokenservicelogic import ( "app-cloudep-permission-server/internal/domain" "app-cloudep-permission-server/internal/entity" - ers "code.30cm.net/digimon/library-go/errors" "context" - "github.com/google/uuid" "time" + ers "code.30cm.net/digimon/library-go/errors" + "github.com/google/uuid" + "app-cloudep-permission-server/gen_result/pb/permission" "app-cloudep-permission-server/internal/svc" diff --git a/internal/logic/tokenservice/new_token_logic.go b/internal/logic/tokenservice/new_token_logic.go index 259025d..52bd853 100644 --- a/internal/logic/tokenservice/new_token_logic.go +++ b/internal/logic/tokenservice/new_token_logic.go @@ -4,11 +4,12 @@ import ( "app-cloudep-permission-server/internal/config" "app-cloudep-permission-server/internal/domain" "app-cloudep-permission-server/internal/entity" - ers "code.30cm.net/digimon/library-go/errors" "context" - "github.com/google/uuid" "time" + ers "code.30cm.net/digimon/library-go/errors" + "github.com/google/uuid" + "app-cloudep-permission-server/gen_result/pb/permission" "app-cloudep-permission-server/internal/svc" diff --git a/internal/logic/tokenservice/refresh_token_logic.go b/internal/logic/tokenservice/refresh_token_logic.go index 52f6898..1378989 100644 --- a/internal/logic/tokenservice/refresh_token_logic.go +++ b/internal/logic/tokenservice/refresh_token_logic.go @@ -2,9 +2,10 @@ package tokenservicelogic import ( "app-cloudep-permission-server/internal/domain" - ers "code.30cm.net/digimon/library-go/errors" "context" + ers "code.30cm.net/digimon/library-go/errors" + "app-cloudep-permission-server/gen_result/pb/permission" "app-cloudep-permission-server/internal/svc" diff --git a/internal/logic/tokenservice/utils_jwt.go b/internal/logic/tokenservice/utils_jwt.go index b7a6b2c..57e8315 100644 --- a/internal/logic/tokenservice/utils_jwt.go +++ b/internal/logic/tokenservice/utils_jwt.go @@ -7,8 +7,9 @@ import ( "crypto/sha256" "encoding/hex" "fmt" - "github.com/golang-jwt/jwt/v4" "time" + + "github.com/golang-jwt/jwt/v4" ) var generateAccessTokenFunc = generateAccessToken diff --git a/internal/logic/tokenservice/validation_token_logic.go b/internal/logic/tokenservice/validation_token_logic.go index 25ce0d6..3717f1c 100644 --- a/internal/logic/tokenservice/validation_token_logic.go +++ b/internal/logic/tokenservice/validation_token_logic.go @@ -1,9 +1,10 @@ package tokenservicelogic import ( - ers "code.30cm.net/digimon/library-go/errors" "context" + ers "code.30cm.net/digimon/library-go/errors" + "app-cloudep-permission-server/gen_result/pb/permission" "app-cloudep-permission-server/internal/svc" diff --git a/internal/repository/token.go b/internal/repository/token.go index 7925006..7af977a 100644 --- a/internal/repository/token.go +++ b/internal/repository/token.go @@ -241,10 +241,20 @@ func (t *tokenRepository) setRelation(ctx context.Context, tx redis.Pipeliner, u return err } + // 設置 UID 鍵的過期時間 + if err := tx.Expire(ctx, domain.UIDTokenRedisKey.With(uid).ToString(), ttl).Err(); err != nil { + return err + } + if err := tx.SAdd(ctx, domain.DeviceTokenRedisKey.With(deviceID).ToString(), tokenID).Err(); err != nil { return err } + // 設置 deviceID 鍵的過期時間 + if err := tx.Expire(ctx, domain.DeviceTokenRedisKey.With(deviceID).ToString(), ttl).Err(); err != nil { + return err + } + return nil } diff --git a/internal/server/tokenservice/token_service_server.go b/internal/server/tokenservice/token_service_server.go index 2620970..c6d0352 100644 --- a/internal/server/tokenservice/token_service_server.go +++ b/internal/server/tokenservice/token_service_server.go @@ -1,5 +1,5 @@ // Code generated by goctl. DO NOT EDIT. -// Source: service.proto +// Source: permission.proto package server diff --git a/service.go b/permission.go similarity index 92% rename from service.go rename to permission.go index 54b770a..465f2da 100644 --- a/service.go +++ b/permission.go @@ -16,7 +16,7 @@ import ( "google.golang.org/grpc/reflection" ) -var configFile = flag.String("f", "etc/service.yaml", "the config file") +var configFile = flag.String("f", "etc/permission.yaml", "the config file") func main() { flag.Parse()