6

私は oAuth サーバーを実装しており、更新トークンを保存する必要があります。これを行うには、(現時点では) トークンを JSON にシリアル化することを選択しています。

JSON にはリハイドレートに必要なすべてが含まれていることがわかりますが、token.FromJson() で逆シリアル化すると、埋め込まれたクレームが正しく再構築されません。

これまでのところ、JsonConverter から継承してクレーム コンバーターを作成することを検討しましたが、グローバル JsConfig を調整してそれを利用する方法がわかりません:(

誰かが私を良い方向に向けることができますか?

4

1 に答える 1

3

そう...

コードから離れて戻ってくるとうまくいきました!

JsonConverter を使用する代わりに、特定のクラスで ServiceStack の動作を変更/オーバーライドするときに JsConfig の汎用バージョンを利用する必要があります。たとえば、サービスの起動コードに次のように貼り付けてください。

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 に答える