diff --git a/enforcer_interface.go b/enforcer_interface.go index 9ff7242..9320778 100644 --- a/enforcer_interface.go +++ b/enforcer_interface.go @@ -75,6 +75,7 @@ type IEnforcer interface { GetQRCode(QRCodeId string) *model.QRCode GetQRCodeState(QRCodeId string) model.QRCodeState GetQRCodeTimeout(QRCodeId string) int64 + DeleteQRCode(QRCodeId string) error Scanned(QRCodeId string, loginId string) (string, error) ConfirmAuth(QRCodeTempToken string) error CancelAuth(QRCodeTempToken string) error diff --git a/enforcer_internal_api.go b/enforcer_internal_api.go index 393c78e..2df2037 100644 --- a/enforcer_internal_api.go +++ b/enforcer_internal_api.go @@ -209,13 +209,17 @@ func (e *Enforcer) getAndCheckQRCodeState(QRCodeId string, want model.QRCodeStat } func (e *Enforcer) getQRCodeTimeout(id string) int64 { - return e.adapter.GetTimeout(id) + return e.adapter.GetTimeout(e.spliceQRCodeKey(id)) } func (e *Enforcer) updateQRCode(id string, qrCode *model.QRCode) error { return e.adapter.Update(e.spliceQRCodeKey(id), qrCode) } +func (e *Enforcer) deleteQRCode(id string) error { + return e.adapter.Delete(e.spliceQRCodeKey(id)) +} + func (e *Enforcer) getByTempToken(service string, tempToken string) string { return e.adapter.GetStr(e.spliceTempTokenKey(service, tempToken)) } diff --git a/enforcer_manager_api.go b/enforcer_manager_api.go index 3540f32..b4ccb0e 100644 --- a/enforcer_manager_api.go +++ b/enforcer_manager_api.go @@ -319,3 +319,7 @@ func (e *Enforcer) GetQRCodeState(QRCodeId string) model.QRCodeState { func (e *Enforcer) GetQRCodeTimeout(QRCodeId string) int64 { return e.getQRCodeTimeout(QRCodeId) } + +func (e *Enforcer) DeleteQRCode(QRCodeId string) error { + return e.deleteQRCode(QRCodeId) +}