context.DeserializeTicket(token) 做啥?

Posted

技术标签:

【中文标题】context.DeserializeTicket(token) 做啥?【英文标题】:What context.DeserializeTicket(token) does?context.DeserializeTicket(token) 做什么? 【发布时间】:2015-03-28 04:31:29 【问题描述】:

我想了解刷新令牌的工作原理,我有一个很好的主意,这里是一个例子http://bit.ly/1n9Tbot,但我发现了这个context.DeserializeTicket(protectedTicket); 我不确定它的作用,实际上没有任何文档,您可以在这里看到http://bit.ly/1y7LTHt

它是用来销毁令牌的吗?如果是“反序列化”,为什么不返回任何东西?

【问题讨论】:

是不是很神秘。 我在我的 IAuthenticationTokenProvider 实现中的 ReceiveAsync 函数中有它。 CreateAsync上面有个镜像函数,其中“token.ProtectedTicket = context.SerializeTicket()” 【参考方案1】:
context.DeserializeTicket()

类似于

context.SetTicket()

因为他们都设置了上下文的票。

不同的是DeserializeTicket接受的是一个字符串,是一个序列化的ticket。

这对我很有用,因为我将序列化票证 (context.SerializeTicket()) 保存在我的数据库中。

【讨论】:

我正在使用我自己的刷新令牌实现,因为我在生成刷新令牌时没有序列化身份验证票证,我使用 guid 设置为刷新令牌,在 Create 方法中我只是保存了一个db 中的 Guid 并将 guid 作为刷新令牌返回给用户 (context.setToken(guidString));现在在 Receive 方法中,如果令牌无效,我该如何拒绝请求?这个里面没有Context.SetError @HamzaKhanzada 您应该为您的问题创建一个新问题。这个问题是“什么 context.DeserializeTicket(token) 做什么?”。

以上是关于context.DeserializeTicket(token) 做啥?的主要内容,如果未能解决你的问题,请参考以下文章