當前位置: 首頁>>代碼示例>>Golang>>正文


Golang Manager.Logout方法代碼示例

本文整理匯總了Golang中github.com/kidstuff/auth/authmodel.Manager.Logout方法的典型用法代碼示例。如果您正苦於以下問題:Golang Manager.Logout方法的具體用法?Golang Manager.Logout怎麽用?Golang Manager.Logout使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在github.com/kidstuff/auth/authmodel.Manager的用法示例。


在下文中一共展示了Manager.Logout方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: testManagerLogin

// testManagerLogin login the same user by uid 3 times to get 3 different tokens.
// Then use them to test the Logout method.
func testManagerLogin(t *testing.T, mngr authmodel.Manager, uid string) {
	token, err := mngr.Login(uid, time.Minute)
	if err != nil {
		t.Fatal("cannot login:", err)
	}

	u, err := mngr.GetUser(token)
	if err != nil {
		t.Fatal("cannot get logged user:", err)
	}

	if *u.Id != uid {
		t.Fatal("loged user and user returned not the same")
	}

	token2, err := mngr.Login(uid, time.Minute)
	if err != nil {
		t.Fatal("cannot login:", err)
	}

	u, err = mngr.GetUser(token2)
	if err != nil {
		t.Fatal("cannot get logged user:", err)
	}

	if *u.Id != uid {
		t.Fatal("loged user and user returned not the same")
	}

	token3, err := mngr.Login(uid, time.Minute)
	if err != nil {
		t.Fatal("cannot login:", err)
	}

	u, err = mngr.GetUser(token3)
	if err != nil {
		t.Fatal("cannot get logged user:", err)
	}

	if *u.Id != uid {
		t.Fatal("loged user and user returned not the same")
	}

	if token == token2 || token2 == token3 || token == token3 {
		t.Fatal("token must not be the same")
	}

	err = mngr.Logout(token, false)
	if err != nil {
		t.Fatal("cannot logout user:", err)
	}

	u, err = mngr.GetUser(token)
	if err == nil || u != nil {
		t.Fatal("logout don't work")
	}

	err = mngr.Logout(token2, true)
	if err != nil {
		t.Fatal("cannot logout user:", err)
	}

	u, err = mngr.GetUser(token2)
	if err == nil || u != nil {
		t.Fatal("logout didn't work")
	}

	u, err = mngr.GetUser(token3)
	if err == nil || u != nil {
		t.Fatal("logout all user's session didn't work")
	}
}
開發者ID:kidstuff,項目名稱:auth-mongo-mngr,代碼行數:74,代碼來源:mngr_test.go


注:本文中的github.com/kidstuff/auth/authmodel.Manager.Logout方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。