refactor: update Scanned() param

This commit is contained in:
weloe
2023-10-16 20:46:26 +08:00
parent ce95ac86a6
commit 6d763a4d03
3 changed files with 18 additions and 12 deletions

View File

@@ -75,7 +75,7 @@ type IEnforcer interface {
GetQRCode(QRCodeId string) *model.QRCode
GetQRCodeState(QRCodeId string) model.QRCodeState
GetQRCodeTimeout(QRCodeId string) int64
Scanned(QRCodeId string, token string) (string, error)
Scanned(QRCodeId string, loginId string) (string, error)
ConfirmAuth(QRCodeTempToken string) error
CancelAuth(QRCodeTempToken string) error

View File

@@ -231,11 +231,7 @@ func (e *Enforcer) CreateQRCodeState(QRCodeId string, timeout int64) error {
}
// Scanned update state to constant.WaitAuth, return tempToken
func (e *Enforcer) Scanned(QRCodeId string, token string) (string, error) {
id, err := e.GetLoginIdByToken(token)
if err != nil {
return "", err
}
func (e *Enforcer) Scanned(QRCodeId string, loginId string) (string, error) {
qrCode := e.getQRCode(QRCodeId)
if qrCode == nil {
return "", fmt.Errorf("QRCode doesn't exist")
@@ -244,9 +240,9 @@ func (e *Enforcer) Scanned(QRCodeId string, token string) (string, error) {
return "", fmt.Errorf("QRCode state error: unexpected state value %v, want is %v", qrCode.State, model.WaitScan)
}
qrCode.State = model.WaitAuth
qrCode.LoginId = id
qrCode.LoginId = loginId
err = e.updateQRCode(QRCodeId, qrCode)
err := e.updateQRCode(QRCodeId, qrCode)
if err != nil {
return "", err
}

View File

@@ -38,7 +38,8 @@ func TestEnforcer_TempToken(t *testing.T) {
func TestEnforcer_ConfirmQRCode(t *testing.T) {
enforcer, _ := NewTestEnforcer(t)
// in APP
token, err := enforcer.LoginById("1")
loginId := "1"
token, err := enforcer.LoginById(loginId)
if err != nil {
t.Fatalf("Login failed: %v", err)
}
@@ -51,7 +52,11 @@ func TestEnforcer_ConfirmQRCode(t *testing.T) {
t.Fatalf("CreateQRCodeState() failed: %v", err)
}
t.Logf("After CreateQRCodeState(), current QRCode state: %v", enforcer.GetQRCodeState(qrCodeId))
tempToken, err := enforcer.Scanned(qrCodeId, token)
loginIdByToken, err := enforcer.GetLoginIdByToken(token)
if err != nil {
t.Fatalf("GetLoginIdByToken() failed: %v", err)
}
tempToken, err := enforcer.Scanned(qrCodeId, loginIdByToken)
if err != nil {
t.Fatalf("Scanned() failed: %v", err)
}
@@ -77,7 +82,8 @@ func TestEnforcer_ConfirmQRCode(t *testing.T) {
func TestEnforcer_CancelAuthQRCode(t *testing.T) {
enforcer, _ := NewTestEnforcer(t)
// in APP
token, err := enforcer.LoginById("1")
loginId := "1"
token, err := enforcer.LoginById(loginId)
if err != nil {
t.Fatalf("Login failed: %v", err)
}
@@ -90,7 +96,11 @@ func TestEnforcer_CancelAuthQRCode(t *testing.T) {
t.Fatalf("CreateQRCodeState() failed: %v", err)
}
t.Logf("After CreateQRCodeState(), current QRCode state: %v", enforcer.GetQRCodeState(qrCodeId))
tempToken, err := enforcer.Scanned(qrCodeId, token)
loginIdByToken, err := enforcer.GetLoginIdByToken(token)
if err != nil {
t.Fatalf("GetLoginIdByToken() failed: %v", err)
}
tempToken, err := enforcer.Scanned(qrCodeId, loginIdByToken)
if err != nil {
t.Fatalf("Scanned() failed: %v", err)
}