ユーザー登録時にソーシャルネットワークから性別情報を取得することに興味があるため、ネイティブの Laravel ソーシャライトプロバイダーに性別マッピングがないことに気付きました。
GoogleProvider.php
protected function mapUserToObject(array $user)
{
return (new User)->setRaw($user)->map([
'id' => $user['id'], 'nickname' => array_get($user, 'nickname'), 'name' => $user['displayName'],
'email' => $user['emails'][0]['value'], 'avatar' => array_get($user, 'image')['url'],
]);
}
したがって、GoogleProvider.php は vendor フォルダーにあるため、上記のメソッドを編集して性別フィールドをマッピングすることはできません。
問題は、Laravel が提供するさまざまなソーシャル プロバイダーで mapUserToObject をオーバーライドするにはどうすればよいかということです。
または、そのような場合に推奨されるアプローチは何ですか?