A couple of updates

Signed-off-by: Nikolai Rodionov <iam@allanger.xyz>
This commit is contained in:
2026-05-18 15:16:58 +02:00
parent 4f8d040a04
commit 1f62831bd2
2 changed files with 12 additions and 6 deletions

View File

@@ -2,6 +2,7 @@ package v1
import (
"context"
"errors"
"gitea.badhouseplants.net/softplayer/softplayer-backend/internal/controllers"
accounts "gitea.badhouseplants.net/softplayer/softplayer-go-proto/pkg/accounts/v1"
@@ -29,7 +30,7 @@ type AccountsServer struct {
authorizationCtrl *controllers.AuthController
}
func (a *AccountsServer) RefreshToken(ctx context.Context, in *empty.Empty) (*empty.Empty, error) {
func (srv *AccountsServer) RefreshToken(ctx context.Context, in *empty.Empty) (*empty.Empty, error) {
claims, err := controllers.ClaimsFromContext(ctx)
if err != nil {
return nil, status.Error(codes.Aborted, "Context is invalid")
@@ -39,16 +40,19 @@ func (a *AccountsServer) RefreshToken(ctx context.Context, in *empty.Empty) (*em
return nil, status.Error(codes.Unauthenticated, "Invalid token")
}
session, err := a.authorizationCtrl.GetSession(ctx, claims.TokenID)
session, err := srv.authorizationCtrl.GetSession(ctx, claims.TokenID)
if err != nil {
return nil, status.Error(codes.Unauthenticated, "Session doesn't exists")
if errors.Is(err, controllers.ErrSessionNotFound) {
return nil, status.Error(codes.Unauthenticated, "Session doesn't exists")
}
return nil, status.Error(codes.Internal, "Somethings is broken on our side")
}
if session.UserID != claims.UserID {
return nil, status.Error(codes.Unauthenticated, "Invalid session")
}
accessToken, _, err := a.authorizationCtrl.GenerateToken(&controllers.JWTData{
accessToken, _, err := srv.authorizationCtrl.GenerateToken(&controllers.JWTData{
UserID: claims.UserID,
TokenType: controllers.TokenTypeAccess,
TokenAud: controllers.TokenAudWeb,
@@ -57,7 +61,7 @@ func (a *AccountsServer) RefreshToken(ctx context.Context, in *empty.Empty) (*em
return nil, status.Error(codes.Aborted, "Couldn't generate an access token")
}
refreshToken, tokenID, err := a.authorizationCtrl.GenerateToken(&controllers.JWTData{
refreshToken, tokenID, err := srv.authorizationCtrl.GenerateToken(&controllers.JWTData{
UserID: claims.UserID,
TokenType: controllers.TokenTypeRefresh,
TokenAud: controllers.TokenAudWeb,
@@ -67,7 +71,7 @@ func (a *AccountsServer) RefreshToken(ctx context.Context, in *empty.Empty) (*em
}
newSession := &controllers.Session{UserID: session.UserID}
if err := a.authorizationCtrl.SaveSession(ctx, tokenID, newSession); err != nil {
if err := srv.authorizationCtrl.SaveSession(ctx, tokenID, newSession); err != nil {
return nil, status.Error(codes.Aborted, "Couldn't store session")
}

View File

@@ -14,6 +14,8 @@ import (
)
// var _ tokens.TokensServiceServer = (*TokensServer)(nil)
// TokensServer implements the Token Service
type TokensServer struct {
tokens.UnimplementedTokensServiceServer
tokenCtrl *controllers.TokenController