6

我正在实现一个 oAuth 服务器并且需要存储刷新令牌,为此我(目前)选择将令牌序列化为 JSON。

虽然我可以看到 JSON 包含重新水化所需的所有内容,但当我使用 token.FromJson() 反序列化时,嵌入的声明没有被正确重建。

到目前为止,我已经考虑从 JsonConverter 继承来创建声明转换器,但没有看到调整全局 JsConfig 以利用它的方法:(

任何人都可以为我指明一个好的方向吗?

4

1 回答 1

3

所以...

离开代码并返回就行了!

在更改/覆盖特定类上 ServiceStack 的行为时,您需要使用通用版本的 JsConfig 而不是使用 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]);
  };
于 2015-08-10T10:04:39.573 回答