aboutsummaryrefslogtreecommitdiffhomepage
path: root/backend/auth
diff options
context:
space:
mode:
Diffstat (limited to 'backend/auth')
-rw-r--r--backend/auth/auth.go34
-rw-r--r--backend/auth/jwt.go27
2 files changed, 7 insertions, 54 deletions
diff --git a/backend/auth/auth.go b/backend/auth/auth.go
index 2266c50..f4c5931 100644
--- a/backend/auth/auth.go
+++ b/backend/auth/auth.go
@@ -9,15 +9,13 @@ import (
"github.com/jackc/pgx/v5"
"golang.org/x/crypto/bcrypt"
- "github.com/nsfisis/iosdc-japan-2024-albatross/backend/account"
- "github.com/nsfisis/iosdc-japan-2024-albatross/backend/db"
- "github.com/nsfisis/iosdc-japan-2024-albatross/backend/fortee"
+ "github.com/nsfisis/phperkaigi-2025-albatross/backend/account"
+ "github.com/nsfisis/phperkaigi-2025-albatross/backend/db"
+ "github.com/nsfisis/phperkaigi-2025-albatross/backend/fortee"
)
var (
- ErrInvalidRegistrationToken = errors.New("invalid registration token")
- ErrNoRegistrationToken = errors.New("no registration token")
- ErrForteeLoginTimeout = errors.New("fortee login timeout")
+ ErrForteeLoginTimeout = errors.New("fortee login timeout")
)
const (
@@ -29,7 +27,6 @@ func Login(
queries *db.Queries,
username string,
password string,
- registrationToken *string,
) (int, error) {
userAuth, err := queries.GetUserAuthByUsername(ctx, username)
if err != nil && !errors.Is(err, pgx.ErrNoRows) {
@@ -50,7 +47,7 @@ func Login(
}
// Authenticate with fortee.
- return verifyForteeAccountOrSignup(ctx, queries, username, password, registrationToken)
+ return verifyForteeAccountOrSignup(ctx, queries, username, password)
}
func verifyForteeAccountOrSignup(
@@ -58,7 +55,6 @@ func verifyForteeAccountOrSignup(
queries *db.Queries,
username string,
password string,
- registrationToken *string,
) (int, error) {
canonicalizedUsername, err := verifyForteeAccount(ctx, username, password)
if err != nil {
@@ -71,7 +67,6 @@ func verifyForteeAccountOrSignup(
ctx,
queries,
canonicalizedUsername,
- registrationToken,
)
}
return 0, err
@@ -83,12 +78,7 @@ func signup(
ctx context.Context,
queries *db.Queries,
username string,
- registrationToken *string,
) (int, error) {
- if err := verifyRegistrationToken(ctx, queries, registrationToken); err != nil {
- return 0, err
- }
-
// TODO: transaction
userID, err := queries.CreateUser(ctx, username)
if err != nil {
@@ -110,20 +100,6 @@ func signup(
return int(userID), nil
}
-func verifyRegistrationToken(ctx context.Context, queries *db.Queries, registrationToken *string) error {
- if registrationToken == nil {
- return ErrNoRegistrationToken
- }
- exists, err := queries.IsRegistrationTokenValid(ctx, *registrationToken)
- if err != nil {
- return err
- }
- if !exists {
- return ErrInvalidRegistrationToken
- }
- return nil
-}
-
func verifyForteeAccount(ctx context.Context, username string, password string) (string, error) {
ctx, cancel := context.WithTimeout(ctx, forteeAPITimeout)
defer cancel()
diff --git a/backend/auth/jwt.go b/backend/auth/jwt.go
index 13af837..88006a3 100644
--- a/backend/auth/jwt.go
+++ b/backend/auth/jwt.go
@@ -7,7 +7,7 @@ import (
"github.com/golang-jwt/jwt/v5"
- "github.com/nsfisis/iosdc-japan-2024-albatross/backend/db"
+ "github.com/nsfisis/phperkaigi-2025-albatross/backend/db"
)
var (
@@ -45,32 +45,9 @@ func NewJWT(user *db.User) (string, error) {
return token.SignedString(jwtSecret)
}
-func NewAnonymousJWT() (string, error) {
- claims := jwt.RegisteredClaims{
- ExpiresAt: jwt.NewNumericDate(time.Now().Add(time.Minute * 5)),
- }
- token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)
- return token.SignedString(jwtSecret)
-}
-
-func NewShortLivedJWT(claims *JWTClaims) (string, error) {
- newClaims := &JWTClaims{
- UserID: claims.UserID,
- Username: claims.Username,
- DisplayName: claims.DisplayName,
- IconPath: claims.IconPath,
- IsAdmin: claims.IsAdmin,
- RegisteredClaims: jwt.RegisteredClaims{
- ExpiresAt: jwt.NewNumericDate(time.Now().Add(time.Minute * 5)),
- },
- }
- token := jwt.NewWithClaims(jwt.SigningMethodHS256, newClaims)
- return token.SignedString(jwtSecret)
-}
-
func ParseJWT(token string) (*JWTClaims, error) {
claims := new(JWTClaims)
- t, err := jwt.ParseWithClaims(token, claims, func(*jwt.Token) (interface{}, error) {
+ t, err := jwt.ParseWithClaims(token, claims, func(*jwt.Token) (any, error) {
return jwtSecret, nil
})
if err != nil {