mirror of
https://github.com/weloe/token-go.git
synced 2025-09-26 19:41:21 +08:00
feat: update CreateTempToken,add CreateTempTokenByStyle
This commit is contained in:
@@ -65,7 +65,8 @@ type IEnforcer interface {
|
||||
CloseSafe(token string, service string) error
|
||||
|
||||
// Temp token api
|
||||
CreateTempToken(style string, service string, value string, timeout int64) (string, error)
|
||||
CreateTempToken(token string, service string, value string, timeout int64) (string, error)
|
||||
CreateTempTokenByStyle(style string, service string, value string, timeout int64) (string, error)
|
||||
GetTempTokenTimeout(service string, tempToken string) int64
|
||||
ParseTempToken(service string, tempToken string) string
|
||||
DeleteTempToken(service string, tempToken string) error
|
||||
|
@@ -208,7 +208,7 @@ func (e *Enforcer) CloseSafe(token string, service string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (e *Enforcer) CreateTempToken(style string, service string, value string, timeout int64) (string, error) {
|
||||
func (e *Enforcer) CreateTempTokenByStyle(style string, service string, value string, timeout int64) (string, error) {
|
||||
token, err := e.generateFunc.Exec(style)
|
||||
if err != nil {
|
||||
return "", err
|
||||
@@ -220,6 +220,17 @@ func (e *Enforcer) CreateTempToken(style string, service string, value string, t
|
||||
return token, nil
|
||||
}
|
||||
|
||||
func (e *Enforcer) CreateTempToken(token string, service string, value string, timeout int64) (string, error) {
|
||||
if token == "" {
|
||||
return "", fmt.Errorf("token must not be empty")
|
||||
}
|
||||
err := e.setTempToken(service, token, value, timeout)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return token, nil
|
||||
}
|
||||
|
||||
func (e *Enforcer) GetTempTokenTimeout(service string, tempToken string) int64 {
|
||||
if tempToken == "" {
|
||||
return constant.NotValueExpire
|
||||
|
@@ -2,16 +2,20 @@ package token_go
|
||||
|
||||
import (
|
||||
"github.com/weloe/token-go/model"
|
||||
"reflect"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestEnforcer_TempToken(t *testing.T) {
|
||||
enforcer, _ := NewTestEnforcer(t)
|
||||
service := "code"
|
||||
tempToken, err := enforcer.CreateTempToken("uuid", service, "1234", -1)
|
||||
tempToken, err := enforcer.CreateTempToken("tempToken", service, "1234", -1)
|
||||
if err != nil {
|
||||
t.Fatalf("CreateTempToken() failed: %v", err)
|
||||
}
|
||||
if !reflect.DeepEqual(tempToken, "tempToken") {
|
||||
t.Fatalf("token error, want is %v", "1234")
|
||||
}
|
||||
timeout := enforcer.GetTempTokenTimeout(service, tempToken)
|
||||
if timeout != -1 {
|
||||
t.Errorf("GetTempTokenTimeout() failed, unexpected timeout: %v", timeout)
|
||||
@@ -33,6 +37,16 @@ func TestEnforcer_TempToken(t *testing.T) {
|
||||
if codeValue != "" {
|
||||
t.Errorf("ParseTempToken() failed, unexpected codeValue: %v", codeValue)
|
||||
}
|
||||
|
||||
// create token
|
||||
tempToken, err = enforcer.CreateTempTokenByStyle("uuid", service, "1234", -1)
|
||||
if err != nil {
|
||||
t.Fatalf("CreateTempTokenByStyle() failed: %v", err)
|
||||
}
|
||||
// delete
|
||||
if enforcer.DeleteTempToken(service, tempToken) != nil {
|
||||
t.Fatalf("DeleteTempToken() failed: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestEnforcer_ConfirmQRCode(t *testing.T) {
|
||||
|
Reference in New Issue
Block a user