EC-CUBE / EC-CUBE/ec-cube

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

Open
#4,764 2 comments 0 reactions 0 assignees View on GitHub
improvement
Dominant language
PHP
Stars
788
Forks
719
Avg merge
4d 4h
Merged PRs (30d)
39

Description

## 概要(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 等により外部との連携も以前より実装しやすい状況になっているため、この辺りのニーズも高まって来ている気がします。

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.