⬆️ Upgrade Passport and use Hyper SDK

This commit is contained in:
2024-06-22 12:29:20 +08:00
parent b951cd2696
commit 72299c810b
13 changed files with 137 additions and 172 deletions

View File

@ -1,18 +1,13 @@
package services
import (
"context"
"errors"
"fmt"
"reflect"
"time"
"git.solsynth.dev/hydrogen/paperclip/pkg/internal/database"
"git.solsynth.dev/hydrogen/paperclip/pkg/internal/gap"
"git.solsynth.dev/hydrogen/paperclip/pkg/internal/models"
"git.solsynth.dev/hydrogen/passport/pkg/grpc/proto"
"git.solsynth.dev/hydrogen/passport/pkg/proto"
"gorm.io/gorm"
"reflect"
)
func LinkAccount(userinfo *proto.Userinfo) (models.Account, error) {
@ -54,30 +49,3 @@ func LinkAccount(userinfo *proto.Userinfo) (models.Account, error) {
return account, err
}
func Authenticate(atk, rtk string) (models.Account, string, string, error) {
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()
var err error
var user models.Account
pc, err := gap.DiscoverPassport()
if err != nil {
return user, atk, rtk, fmt.Errorf("authenticate services was not available")
}
reply, err := proto.NewAuthClient(pc).Authenticate(ctx, &proto.AuthRequest{
AccessToken: atk,
RefreshToken: &rtk,
})
if err != nil {
return user, reply.GetAccessToken(), reply.GetRefreshToken(), err
} else if !reply.IsValid {
return user, reply.GetAccessToken(), reply.GetRefreshToken(), fmt.Errorf("invalid authorization context")
}
user, err = LinkAccount(reply.Userinfo)
return user, reply.GetAccessToken(), reply.GetRefreshToken(), err
}