Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

認証キー発行処理をcookieに依存しない実装に変更 #5388

Merged
merged 2 commits into from
Jun 23, 2022

Conversation

chihiro-adachi
Copy link
Contributor

概要(Overview・Refs Issue)

#4416

方針(Policy)

キャプチャ文字列の保持をセッションを使って実装していたが、セッションCookieがサードパーティーCookieとなるためsafariで動作していなかった。

package-api側をCookieに依存しない実装に変更し、クライアントであるEC-CUBE側もそれに合わせて追随

実装に関する補足(Appendix)

キャプチャ画像リクエスト時に、x-eccube-captcha-idというレスポンスヘッダが返されます。
認証キー発行リクエスト時にx-eccube-captcha-idの値とキャプチャ文字列をセットで渡すことで、キャプチャ文字列の照合を行います。

テスト(Test)

以下ブラウザで動作することを確認しています。

  • safari
  • chrome のシークレットモード

相談(Discussion)

マイナーバージョン互換性保持のための制限事項チェックリスト

  • 既存機能の仕様変更はありません
  • フックポイントの呼び出しタイミングの変更はありません
  • フックポイントのパラメータの削除・データ型の変更はありません
  • twigファイルに渡しているパラメータの削除・データ型の変更はありません
  • Serviceクラスの公開関数の、引数の削除・データ型の変更はありません
  • 入出力ファイル(CSVなど)のフォーマット変更はありません

レビュワー確認項目

  • 動作確認
  • コードレビュー
  • E2E/Unit テスト確認(テストの追加・変更が必要かどうか)
  • 互換性が保持されているか
  • セキュリティ上の問題がないか
    • 権限を超えた操作が可能にならないか
    • 不要なファイルアップロードがないか
    • 外部へ公開されるファイルや機能の追加ではないか
    • テンプレートでのエスケープ漏れがないか

@chihiro-adachi chihiro-adachi added this to the 4.2.0 milestone Jun 14, 2022
Copy link
Contributor

@kiy0taka kiy0taka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

XMLHttpRequest を使用している理由は何かありますか?
とくにないのであればjQueryを使用したほうがいいです。

@chihiro-adachi
Copy link
Contributor Author

@kiy0taka
jqueryだとバイナリの取得に難がありXMLHttpRequest で代替としています。
https://qiita.com/tom_konda/items/484955b8332e0305ebc4
https://qiita.com/yuma84/items/fefb95c1a10396070cd2

@kiy0taka
Copy link
Contributor

なるほど。理解しました。

@kiy0taka kiy0taka merged commit c614a3b into EC-CUBE:4.2 Jun 23, 2022
@chihiro-adachi chihiro-adachi deleted the fix-package-api-key branch June 23, 2022 23:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants