我实现了oAuth服务器并且需要存储刷新令牌,为此我已经(目前)选择将令牌序列化为JSON。
虽然我可以看到JSON包含了重新水化所需的所有内容,但当我使用token.FromJson()反序列化时,嵌入的声明没有被正确重建。
到目前为止,我已经考虑从JsonConverter继承创建声明转换器但是没有看到调整全局JsConfig以利用它的方法:(
任何人都能指出我的方向吗?
答案 0 :(得分:3)
因此...
离开代码然后返回就行了!
在更改/覆盖特定类的ServiceStack行为时,您需要使用JsonConvert的通用版本,而不是使用JsonConverter,只需在服务启动代码中添加以下内容即可。
JsConfig<Claim>.SerializeFn = claim => string.Format("{0}|{1}", claim.Type, claim.Value);
JsConfig<Claim>.DeSerializeFn = claimDetails =>
{
var values = claimDetails.Split('|');
return new Claim(values[0], values[1]);
};