This commit is contained in:
parent
0f9b95cafe
commit
94917e7735
|
@ -5,6 +5,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
"os"
|
||||||
|
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
|
|
||||||
|
@ -19,6 +20,7 @@ import (
|
||||||
mailService "github.com/authorizerdev/authorizer/server/email"
|
mailService "github.com/authorizerdev/authorizer/server/email"
|
||||||
"github.com/authorizerdev/authorizer/server/graph/model"
|
"github.com/authorizerdev/authorizer/server/graph/model"
|
||||||
"github.com/authorizerdev/authorizer/server/memorystore"
|
"github.com/authorizerdev/authorizer/server/memorystore"
|
||||||
|
"github.com/authorizerdev/authorizer/server/memorystore/providers/redis"
|
||||||
"github.com/authorizerdev/authorizer/server/refs"
|
"github.com/authorizerdev/authorizer/server/refs"
|
||||||
"github.com/authorizerdev/authorizer/server/smsproviders"
|
"github.com/authorizerdev/authorizer/server/smsproviders"
|
||||||
"github.com/authorizerdev/authorizer/server/token"
|
"github.com/authorizerdev/authorizer/server/token"
|
||||||
|
@ -316,6 +318,41 @@ func LoginResolver(ctx context.Context, params model.LoginInput) (*model.AuthRes
|
||||||
expiresIn = 1
|
expiresIn = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
redisURL := os.Getenv(constants.EnvKeyRedisURL)
|
||||||
|
if redisURL != "" {
|
||||||
|
log.Info("Initializing Redis provider")
|
||||||
|
Provider, err := redis.NewRedisProvider(redisURL)
|
||||||
|
if err != nil {
|
||||||
|
log.Debug("Failed to init Redis: ", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if user.AppData == nil {
|
||||||
|
user.AppData = make(map[string]interface{})
|
||||||
|
}
|
||||||
|
|
||||||
|
follows, err := Provider.GetUserFollows(user.ID)
|
||||||
|
if err != nil {
|
||||||
|
log.Debug("Failed to get follows from Redis: ", err)
|
||||||
|
} else {
|
||||||
|
if follows != "" {
|
||||||
|
user.AppData["follows"] = follows
|
||||||
|
} else {
|
||||||
|
log.Debug("Follows data from Redis is empty")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
author, err := Provider.GetUserProfile(user.ID)
|
||||||
|
if err != nil {
|
||||||
|
log.Debug("Failed to get author from Redis: ", err)
|
||||||
|
} else {
|
||||||
|
if author != "" {
|
||||||
|
user.AppData["author"] = author
|
||||||
|
} else {
|
||||||
|
log.Debug("Author data from Redis is empty")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
res = &model.AuthResponse{
|
res = &model.AuthResponse{
|
||||||
Message: `Logged in successfully`,
|
Message: `Logged in successfully`,
|
||||||
AccessToken: &authToken.AccessToken.Token,
|
AccessToken: &authToken.AccessToken.Token,
|
||||||
|
|
|
@ -4,8 +4,9 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
|
||||||
"os"
|
"os"
|
||||||
|
"os/user"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
log "github.com/sirupsen/logrus"
|
log "github.com/sirupsen/logrus"
|
||||||
|
@ -92,6 +93,41 @@ func SessionResolver(ctx context.Context, params *model.SessionQueryInput) (*mod
|
||||||
expiresIn = 1
|
expiresIn = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
redisURL := os.Getenv(constants.EnvKeyRedisURL)
|
||||||
|
if redisURL != "" {
|
||||||
|
log.Info("Initializing Redis provider")
|
||||||
|
Provider, err := redis.NewRedisProvider(redisURL)
|
||||||
|
if err != nil {
|
||||||
|
log.Debug("Failed to init Redis: ", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if user.AppData == nil {
|
||||||
|
user.AppData = make(map[string]interface{})
|
||||||
|
}
|
||||||
|
|
||||||
|
follows, err := Provider.GetUserFollows(user.ID)
|
||||||
|
if err != nil {
|
||||||
|
log.Debug("Failed to get follows from Redis: ", err)
|
||||||
|
} else {
|
||||||
|
if follows != "" {
|
||||||
|
user.AppData["follows"] = follows
|
||||||
|
} else {
|
||||||
|
log.Debug("Follows data from Redis is empty")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
author, err := Provider.GetUserProfile(user.ID)
|
||||||
|
if err != nil {
|
||||||
|
log.Debug("Failed to get author from Redis: ", err)
|
||||||
|
} else {
|
||||||
|
if author != "" {
|
||||||
|
user.AppData["author"] = author
|
||||||
|
} else {
|
||||||
|
log.Debug("Author data from Redis is empty")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
res = &model.AuthResponse{
|
res = &model.AuthResponse{
|
||||||
Message: `Session token refreshed`,
|
Message: `Session token refreshed`,
|
||||||
AccessToken: &authToken.AccessToken.Token,
|
AccessToken: &authToken.AccessToken.Token,
|
||||||
|
@ -104,40 +140,6 @@ func SessionResolver(ctx context.Context, params *model.SessionQueryInput) (*mod
|
||||||
memorystore.Provider.SetUserSession(sessionKey, constants.TokenTypeSessionToken+"_"+authToken.FingerPrint, authToken.FingerPrintHash, authToken.SessionTokenExpiresAt)
|
memorystore.Provider.SetUserSession(sessionKey, constants.TokenTypeSessionToken+"_"+authToken.FingerPrint, authToken.FingerPrintHash, authToken.SessionTokenExpiresAt)
|
||||||
memorystore.Provider.SetUserSession(sessionKey, constants.TokenTypeAccessToken+"_"+authToken.FingerPrint, authToken.AccessToken.Token, authToken.AccessToken.ExpiresAt)
|
memorystore.Provider.SetUserSession(sessionKey, constants.TokenTypeAccessToken+"_"+authToken.FingerPrint, authToken.AccessToken.Token, authToken.AccessToken.ExpiresAt)
|
||||||
|
|
||||||
redisURL := os.Getenv(constants.EnvKeyRedisURL)
|
|
||||||
if redisURL != "" {
|
|
||||||
log.Info("Initializing Redis provider")
|
|
||||||
Provider, err := redis.NewRedisProvider(redisURL)
|
|
||||||
if err != nil {
|
|
||||||
log.Debug("Failed to init Redis: ", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if res.User.AppData == nil {
|
|
||||||
res.User.AppData = make(map[string]interface{})
|
|
||||||
}
|
|
||||||
|
|
||||||
follows, err := Provider.GetUserFollows(userID)
|
|
||||||
if err != nil {
|
|
||||||
log.Debug("Failed to get follows from Redis: ", err)
|
|
||||||
} else {
|
|
||||||
if follows != "" {
|
|
||||||
res.User.AppData["follows"] = follows
|
|
||||||
} else {
|
|
||||||
log.Debug("Follows data from Redis is empty")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
author, err := Provider.GetUserProfile(userID)
|
|
||||||
if err != nil {
|
|
||||||
log.Debug("Failed to get author from Redis: ", err)
|
|
||||||
} else {
|
|
||||||
if author != "" {
|
|
||||||
res.User.AppData["author"] = author
|
|
||||||
} else {
|
|
||||||
log.Debug("Author data from Redis is empty")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if authToken.RefreshToken != nil {
|
if authToken.RefreshToken != nil {
|
||||||
res.RefreshToken = &authToken.RefreshToken.Token
|
res.RefreshToken = &authToken.RefreshToken.Token
|
||||||
|
|
Loading…
Reference in New Issue
Block a user