Skip to content

ソーシャルログインで会員登録を行わせる際のパスワードの扱い #4764

@KentarouTakeda

Description

@KentarouTakeda

概要(Overview)

ソーシャルログインで認証だけでなく会員登録も行わせる場合パスワードは特に設定しないのが一般的と思いますが、現在の dtb_customer.password はnot nullのためそれを行うことができません。

この制限を回避するには現状、

▼【EC-CUBE4】ソーシャルログインで会員登録するときパスワード不要で登録させる方法 - あずみ.net
https://a-zumi.net/eccube4-social-login-no-password/

例えばこういった実装(会員登録時にランダムなパスワードを生成)を行う形になりますが、

  • 実装がプラグイン作者や拡張側に委ねられるため、安全でない(自動生成パスワードのエントロピーなど)実装が行われてしまう可能性を排除できない。
  • 「利用している security.encoders を問わず、どのようなパスワードとも絶対に一致しない値」を設定することが出来ればそれが最も安全。

と言った観点より、nullを許容することによる対応が最も確実ではないかと思います。

期待する内容(Expect) or 要望 (Requirement)

dtb_customer.password の not null制約を外したい
https://github.com/EC-CUBE/ec-cube/blob/4.0.5/src/Eccube/Entity/Customer.php#L122

環境 (environment)

  • EC-CUBE: 4.0.x

関連情報 (Ref)

#4664 等により外部との連携も以前より実装しやすい状況になっているため、この辺りのニーズも高まって来ている気がします。

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions