コントローラアクション内でJSONWebTokenペイロードデータを取得する

ディーzg

Angular2SPAを使用してASP.NETWebAPIアプリケーションにJWTベースの承認を実装しています。1つの詳細を除いて、承認フローに関してはすべてが明確です。Web APIコントローラーアクション内でJWTペイロード情報を取得する方法を知りたいですか?

ウェブを見てみると、たとえば設定Thread.Principalなど、自分が求める解決策が見つかりません

それを達成するための推奨される方法は何ですか?

JoãoAngelo

ASP.NETで認証としてJWTトークンを処理する通常のプロセスは次のとおりです。

  1. リクエストからトークンを取得し、有効であることを確認します。
  2. トークンに含まれる情報に基づいてプリンシパルを作成し、それをリクエストに関連付けます。

これは、トークン内のペイロード情報が、通常はクレームの形式でリクエストプリンシパルを介して利用できることを意味します。たとえば、JWTにユーザーロールに関する情報が含まれている場合、プリンシパルで使用可能なロールクレームにマッピングされます。

OWINを使用しているかどうかについては言及していないので、例としてOWINを想定しますが、コントローラーレベルではそれほど重要ではなく、大きく異なるはずです。

データ消費の部分のみに関心があるという事実にもかかわらず、興味がある場合は、ASP.NET Web API(OWIN)に関するこの一連のチュートリアルを読んで、プロセス全体をより詳細に調べることができます。

最後のものが最も関心を持つものであろうあなたが1つに次のコードスニペットに注意しましょう:

[HttpGet]
[Authorize]
[Route("claims")]
public object Claims()
{
    var claimsIdentity = User.Identity as ClaimsIdentity;

    return claimsIdentity.Claims.Select(c =>
        new
        {
            Type = c.Type,
            Value = c.Value
        });
}

これはUser.Identity、現在認証されているIDのすべてのクレームを一覧表示するために、コントローラー内で使用可能なものに依存しています。通常の認証パイプラインとはかなり異なる構成の認証パイプラインがない限り、これらのクレームはAPIが受け取るJWTペイロードからマッピングされます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

コンテナ内からイントロスペクションメタデータを取得する

分類Dev

コントローラアクションMVC3でフォームフィールドとモデルデータを取得する

分類Dev

クライアント側でJWTトークンのペイロードをデコードする方法は?

分類Dev

エンドポイントからコントローラーとアクション名とともにパラメーターを取得する

分類Dev

mvcコントローラーでアクションをオーバーライドする方法は?

分類Dev

ペイロードでアクションを作成する

分類Dev

コントローラ内からコントローラとアクション名を取得しますか?

分類Dev

コントローラアクションでデシリアライズまたはゲッターとセッターを使用する

分類Dev

コントローラアクション内から親ルートモデルを取得するにはどうすればよいですか?

分類Dev

Reduxアクションの「ペイロード」キー内にデータを配置することの利点は何ですか?

分類Dev

ハイブリッドアプリケーション内のAngularコントローラー内でコルドバイベントを登録する方法

分類Dev

Spring: final フィールドをインスタンス化するオートワイヤード コンストラクター内でアプリケーション プロパティを使用する

分類Dev

コントローラアクション間でデータを共有するRails

分類Dev

ポストパラメーターをコントローラーのアクションパラメーターにバインドする方法は?

分類Dev

URL、Laravelからコントローラーアクションを取得する

分類Dev

Sawtoothトランザクションペイロードデコード

分類Dev

コントローラーアクションでRoute.rbでルート名を取得するRails

分類Dev

JqGrid-データを(リダイレクト付きで)コントローラーアクションに投稿すると404になります

分類Dev

UMLアクティビティ図でGUIコントロールとのユーザーインタラクションをモデル化する方法は?

分類Dev

Java Web Appで大量のデータを取得してクライアントにダウンロードする

分類Dev

アクション内で別のコントローラーのmethodActionをレンダリングする方法

分類Dev

Webアプリケーションのページでオーバーライドされたサーバーコントロールを参照する方法

分類Dev

useEffect内のデータをロードするためにreduxアクションをディスパッチする方法ページロード

分類Dev

アクションとコントローラーの途中でURLパラメーターを使用する

分類Dev

コントローラーアクションでモデルのインスタンスをパラメーターにバインドするにはどうすればよいですか?

分類Dev

JenkinsパイプラインジョブでBitBucketペイロードデータにアクセスする

分類Dev

同じディレクトリ(アプリケーションディレクトリではない)にDLLをランタイムロードする

分類Dev

パイロンが同じコントローラーで重複アクションを許可する理由

分類Dev

MVC ビューで現在のコントローラー アクションの属性を取得する

Related 関連記事

  1. 1

    コンテナ内からイントロスペクションメタデータを取得する

  2. 2

    コントローラアクションMVC3でフォームフィールドとモデルデータを取得する

  3. 3

    クライアント側でJWTトークンのペイロードをデコードする方法は?

  4. 4

    エンドポイントからコントローラーとアクション名とともにパラメーターを取得する

  5. 5

    mvcコントローラーでアクションをオーバーライドする方法は?

  6. 6

    ペイロードでアクションを作成する

  7. 7

    コントローラ内からコントローラとアクション名を取得しますか?

  8. 8

    コントローラアクションでデシリアライズまたはゲッターとセッターを使用する

  9. 9

    コントローラアクション内から親ルートモデルを取得するにはどうすればよいですか?

  10. 10

    Reduxアクションの「ペイロード」キー内にデータを配置することの利点は何ですか?

  11. 11

    ハイブリッドアプリケーション内のAngularコントローラー内でコルドバイベントを登録する方法

  12. 12

    Spring: final フィールドをインスタンス化するオートワイヤード コンストラクター内でアプリケーション プロパティを使用する

  13. 13

    コントローラアクション間でデータを共有するRails

  14. 14

    ポストパラメーターをコントローラーのアクションパラメーターにバインドする方法は?

  15. 15

    URL、Laravelからコントローラーアクションを取得する

  16. 16

    Sawtoothトランザクションペイロードデコード

  17. 17

    コントローラーアクションでRoute.rbでルート名を取得するRails

  18. 18

    JqGrid-データを(リダイレクト付きで)コントローラーアクションに投稿すると404になります

  19. 19

    UMLアクティビティ図でGUIコントロールとのユーザーインタラクションをモデル化する方法は?

  20. 20

    Java Web Appで大量のデータを取得してクライアントにダウンロードする

  21. 21

    アクション内で別のコントローラーのmethodActionをレンダリングする方法

  22. 22

    Webアプリケーションのページでオーバーライドされたサーバーコントロールを参照する方法

  23. 23

    useEffect内のデータをロードするためにreduxアクションをディスパッチする方法ページロード

  24. 24

    アクションとコントローラーの途中でURLパラメーターを使用する

  25. 25

    コントローラーアクションでモデルのインスタンスをパラメーターにバインドするにはどうすればよいですか?

  26. 26

    JenkinsパイプラインジョブでBitBucketペイロードデータにアクセスする

  27. 27

    同じディレクトリ(アプリケーションディレクトリではない)にDLLをランタイムロードする

  28. 28

    パイロンが同じコントローラーで重複アクションを許可する理由

  29. 29

    MVC ビューで現在のコントローラー アクションの属性を取得する

ホットタグ

アーカイブ