JWT secret keyセキュリティのトラブルシューティング


現在、プロジェクトではjwtsecretkeyがこのように暴露されています.
public class JwtTokenUtils {
    
    ...생략...

    public static final String CLAIM_EXPIRED_DATE = "EXPIRED_DATE";
    public static final String CLAIM_USER_NAME = "USER_NAME";
    public static final String JWT_SECRET = "thandbag_!@#$%";
    
    ...생략...
secret keyを非表示にするには、アプリケーションを使用します.機密情報をpropertiesファイルから分離して、propertiesファイルから情報を読み出す必要があります.

方法。


@value APIの使用
  • application.propertiesデータをロードするクラスに@Componentを追加しSpring Beanとして登録します.
  • @Component
    public class JwtTokenUtils {
  • @Value宣言に適用されます.プロパティで作成したキーを識別します.
  • @Value("{jwt.secret}")
    public String jwtSecret;

    方法。


    環境APIの使用
    @Autowiredを使用して
  • 環境を登録します.
  • @Autowired
    private Environment environment;
  • getProperty()メソッドを使用して、属性のキー値を取得します.
  • environment.getProperty("jwt.secret")