これに対する答えは、あなたが扱っているベアラトークンのタイプによって異なります。たとえば、これがjwtトークンである場合、ピリオドで区切られた3つの部分、ヘッダー、ペイロード、およびシグニチャーで構成されます。ペイロードからユーザーIDを取得するには、ペイロードをbase-64でデコードし、「sub」プロパティを取得する必要があります。 「サブ」は「クレーム」として知られています。トークンには多くのクレームが含まれていますが、通常、「サブ」にはユーザーIDが格納されています。 、あなたをそこから
var payload = Encoding.UTF8.GetString(TextEncodings.Base64Url.Decode(b64Payload));
:https://jwt.io/introduction/のC#で
、あなたがのstring.Splitを(使用してトークンのペイロードを解析することができます)、その後、64デコードにこのようなペイロードをベース:詳細については、これを参照してください。
var tokenPayloadObj = JsonConvert.DeserializeObject<YourJwtObjectHere>(payload);
最後に、ユーザーIDがあなたのJWTトークンオブジェクトのプロパティでなければなりません:ちょうどあなたが期待する形式と一致するオブジェクトにペイロードをデシリアライズする必要が
var userId = tokenPayloadObj.UserId;
通常のベアラートークンではなく、JWTを使用していません。 – user1144596