mcpField
S
spring-security-testing

spring-security-testing

github.com/spring-ai-communityテスト・品質5239 回インストール27 週間前に更新
リポジトリ

spring-security-testing について

spring-security-testing は、Spring アプリケーションのセキュリティテストを作成するためのスキルです。JUnit 5 を使う開発者向けに、認証、認可、CSRF、JWT、OAuth2、OIDC の一般的なテストパターンを扱います。

主な機能

  1. 01モックユーザーとユーザー詳細の設定
  2. 02リクエスト単位の認証テスト
  3. 03リクエストへの CSRF トークン追加
  4. 04JWT リソースサーバーの動作テスト
  5. 05OAuth2 と OIDC のログインテスト
  6. 06メソッドセキュリティとカスタムコンテキストのテスト

活用シーン

  1. 01モックユーザーによるアクセス規則のテスト
  2. 02保護された POST、PUT、DELETE リクエストのテスト
  3. 03JWT で保護されたエンドポイントの検証
  4. 04OAuth2 または OIDC 認証フローのテスト

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/spring-ai-community/spring-testing-skills --skill spring-security-testing

インストール後、Claude Code で/spring-security-testingを入力して読み込まれたか確認します。

同梱ファイルreferences/security-testing-patterns.md

詳細

Spring Security のテスト

シグナル: @WithMockUser、@WithUserDetails、csrf()、jwt()、oauth2Login()、mockOidcLogin()、@WithSecurityContext、SecurityMockMvcRequestPostProcessors、AccessDeniedException、SCOPE_

テスト対象のバージョン

  • Spring Boot 3.2+ / Spring Boot 4.x
  • Spring Security 6.x / 7.x
  • Spring Framework 6.x / Spring Framework 7.x
  • JUnit 5

このスキルを使用しない場合

  • セキュリティに焦点を当てずに REST コントローラーの HTTP 動作(ステータスコード、JSON 本文、ヘッダー)をテストする場合 → spring-mvc-testing を使用してください
  • セキュリティを伴うリアクティブエンドポイントをテストする場合 → spring-webflux-testing を使用してください
  • JPA リポジトリーをテストする場合 → spring-jpa-testing を使用してください
  • セキュリティコンテキストを使わずにサービスロジックの純粋な単体テストを書く場合 → spring-testing-fundamentals を使用してください

リファレンスを読むタイミング

状況読むもの
@WithMockUser と @WithUserDetails の設定references/security-testing-patterns.md
roles と authorities の違い、および ROLE_ プレフィックスの落とし穴references/security-testing-patterns.md
SecurityMockMvcRequestPostProcessors(user()、httpBasic())を使ったリクエストごとの認証references/security-testing-patterns.md
POST/PUT/DELETE の CSRF — テストで 403 を防ぐ方法references/security-testing-patterns.md
jwt() ポストプロセッサーを使った JWT リソースサーバーのテストreferences/security-testing-patterns.md
oauth2Login()、mockOidcLogin() を使った OAuth2 ログインと OIDC のテストreferences/security-testing-patterns.md
複雑な JWT のシナリオでのカスタム @WithSecurityContextreferences/security-testing-patterns.md
@PreAuthorize によるメソッドセキュリティのテストreferences/security-testing-patterns.md
Boot 3.x から 4.x へのセキュリティテストの変更点references/security-testing-patterns.md

コメント