p_auth認証トークンはどのように生成すればよいのでしょうか?

問題

  • Liferayはp_auth認証トークンを生成することで、CSRF攻撃から自身を保護します。 このトークンはどのように作成するのですか?

Environment

  • dxp 7.0, 7.1, 7.2, 7.3

解決策

  • portal-ext.properties で "auth.token.check.enabled=true" を設定すると、URLパラメータとして認証トークン(p_auth値)を生成します。 これは、 <portlet:actionURL> または <liferay-portlet:actionURL>から生成された URL のみを保護します。
  • auth.token.check.enabled=true」を呼び出すと、MVCポートレットでも機能します。
  • ActionのURLが <aui:form action="X">、AUIタグはp_authパラメータを抽出し、HTTPリクエストボディを通じてサーバーにPOSTされる隠しフィールドとして追加します。
  • com.liferay.portal.kernel.security.auth.AuthTokenUtil#checkCSRFToken への間接呼び出しが com.liferay.portlet.SecurityPortletContainerWrapper#checkAction から行われています。 これは、ポートレットコンテナの実装の基本です。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています