当前位置: 首页>>代码示例>>Golang>>正文


Golang UserIdSession.VerifyXsrfToken方法代码示例

本文整理汇总了Golang中github.com/keep94/appcommon/session_util.UserIdSession.VerifyXsrfToken方法的典型用法代码示例。如果您正苦于以下问题:Golang UserIdSession.VerifyXsrfToken方法的具体用法?Golang UserIdSession.VerifyXsrfToken怎么用?Golang UserIdSession.VerifyXsrfToken使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/keep94/appcommon/session_util.UserIdSession的用法示例。


在下文中一共展示了UserIdSession.VerifyXsrfToken方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: TestXsrfToken

func TestXsrfToken(t *testing.T) {
	s := session_util.UserIdSession{&sessions.Session{Values: make(map[interface{}]interface{})}}
	s.SetUserId(kUserId)
	xsrfToken := s.NewXsrfToken("MyPage", kNow.Add(15*time.Minute))
	if !s.VerifyXsrfToken(xsrfToken, "MyPage", kNow.Add(14*time.Minute)) {
		t.Error("Expected token to verify")
	}
	if s.VerifyXsrfToken(
		xsrfToken, "AnotherPage", kNow.Add(14*time.Minute)) {
		t.Error("Expected token not to verify. Wrong page")
	}
	if s.VerifyXsrfToken(xsrfToken, "MyPage", kNow.Add(15*time.Minute)) {
		t.Error("Expected token not to verify. Time expired")
	}
}
开发者ID:keep94,项目名称:appcommon,代码行数:15,代码来源:session_test.go

示例2: TestXsrfTokenNewUser

func TestXsrfTokenNewUser(t *testing.T) {
	s := session_util.UserIdSession{&sessions.Session{Values: make(map[interface{}]interface{})}}
	s.SetUserId(kUserId)
	xsrfToken := s.NewXsrfToken("MyPage", kNow.Add(15*time.Minute))
	if !s.VerifyXsrfToken(xsrfToken, "MyPage", kNow) {
		t.Error("Expected token to verify")
	}
	s.SetUserId(kUserId + 1)
	if s.VerifyXsrfToken(xsrfToken, "MyPage", kNow) {
		t.Error("Expected token not to verify. Different user.")
	}
	s.SetUserId(kUserId)
	if s.VerifyXsrfToken(xsrfToken, "MyPage", kNow) {
		t.Error("Expected token not to verify. Secret should have changed.")
	}
}
开发者ID:keep94,项目名称:appcommon,代码行数:16,代码来源:session_test.go

示例3: TestXsrfTokenHack

func TestXsrfTokenHack(t *testing.T) {
	s := session_util.UserIdSession{&sessions.Session{Values: make(map[interface{}]interface{})}}
	s.SetUserId(kUserId)
	xsrfToken := s.NewXsrfToken("MyPage", kNow.Add(15*time.Minute))
	if !s.VerifyXsrfToken(xsrfToken, "MyPage", kNow) {
		t.Error("Expected token to verify")
	}
	if xsrfToken[10] != ':' {
		t.Error("Expected field dlimiter in xsrf token")
	}
	xsrfExpire := xsrfToken[:10]
	xsrfChecksum := xsrfToken[11:]
	if s.VerifyXsrfToken("", "MyPage", kNow) {
		t.Error("Missing token should not verify.")
	}
	if s.VerifyXsrfToken("garbage", "MyPage", kNow) {
		t.Error("garbage token should not verify.")
	}
	if s.VerifyXsrfToken("garbage:with_field_delimiter", "MyPage", kNow) {
		t.Error("garbage with field delimiter token should not verify.")
	}
	if s.VerifyXsrfToken(
		xsrfExpire+":garbage_checksum", "MyPage", kNow) {
		t.Error("token with garbage checksum should not verify.")
	}
	// Add one to expire in token but leave checksum the same.
	expire, err := strconv.Atoi(xsrfExpire)
	if err != nil {
		t.Errorf("Error happened parsing timestamp %v", err)
	}
	regularToken := fmt.Sprintf("%d:%s", expire, xsrfChecksum)
	hackedToken := fmt.Sprintf("%d:%s", expire+1, xsrfChecksum)
	if !s.VerifyXsrfToken(regularToken, "MyPage", kNow) {
		t.Error("Expected regular token to verify")
	}
	if s.VerifyXsrfToken(hackedToken, "MyPage", kNow) {
		t.Error("Expected hacked token not to verify")
	}
}
开发者ID:keep94,项目名称:appcommon,代码行数:39,代码来源:session_test.go


注:本文中的github.com/keep94/appcommon/session_util.UserIdSession.VerifyXsrfToken方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。