remove auth from token

This commit is contained in:
Asim Aslam
2021-05-02 09:57:23 +01:00
parent b8877f8312
commit ac62b8b35b
3 changed files with 8 additions and 12 deletions

View File

@@ -35,10 +35,6 @@ type Streams struct {
Time func() time.Time
}
func (t *Token) Key() string {
return fmt.Sprintf("%s:%s", t.Account, t.Token)
}
func getAccount(acc *auth.Account) string {
owner := acc.Metadata["apikey_owner"]
if len(owner) == 0 {

View File

@@ -30,7 +30,7 @@ func (s *Streams) Subscribe(ctx context.Context, req *pb.SubscribeRequest, strea
// find the token and check to see if it has expired
var token Token
if err := s.Cache.Get(req.Token, &token); err == store.ErrNotFound {
if err := s.Cache.Get("token:"+req.Token, &token); err == store.ErrNotFound {
return ErrInvalidToken
} else if err != nil {
logger.Errorf("Error reading token from store: %v", err)

View File

@@ -11,26 +11,26 @@ import (
)
func (s *Streams) Token(ctx context.Context, req *pb.TokenRequest, rsp *pb.TokenResponse) error {
acc, ok := auth.AccountFromContext(ctx)
if !ok {
return errors.Unauthorized("UNAUTHORIZED", "Unauthorized")
}
if len(req.Topic) > 0 {
if err := validateTopicInput(req.Topic); err != nil {
return err
}
}
var account string
if acc, ok := auth.AccountFromContext(ctx); ok {
account = getAccount(acc)
}
// construct the token and write it to the database
t := Token{
Token: uuid.New().String(),
ExpiresAt: s.Time().Add(TokenTTL),
Topic: req.Topic,
Account: getAccount(acc),
Account: account,
}
if err := s.Cache.Put(t.Token, t, t.ExpiresAt); err != nil {
if err := s.Cache.Put("token:"+t.Token, t, t.ExpiresAt); err != nil {
logger.Errorf("Error creating token in store: %v", err)
return errors.InternalServerError("DATABASE_ERROR", "Error writing token to database")
}