LaravelのSocialiteを用いて作ったGoogleの認証機能がEC2の本番環境だと400: invalid_requestと出てしまいます。
Laravelのバージョン:Laravel Framework 6.18.20
ALB+ACMでhttps化済
やったこと
.envファイルの見直し
EC2上にGithubからクローンしたソースコードの.envファイルに、ローカルにある.envファイルと同じようにクライアントIDとシークレットIDをこちらに記載
.envファイルは.gitignoreのなかに記載しているので、GitHubから見えない状態になっています。
REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 GOOGLE_CLIENT_ID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx GOOGLE_CLIENT_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx MAIL_DRIVER=smtp MAIL_HOST=xxxxxxxxxxxxx MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET=
結果…変わらず。
EC2上でmigrate等をしないといけないのでしょうか?よろしくお願いします。
追記
nginxのエラーログ
2020/09/26 07:14:57 [error] 6389#0: *36873 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.18.3.206, server: xxxxxx.com, request: "POST /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1", upstream: "fastcgi://unix:/run/php-fpm/www.sock:", host: "54.150.25.126"
追記2
Composerをインストール
sudo curl -sS https://getcomposer.org/installer | php
Composer version 1.10.10 2020-08-03 11:35:19
php-mbstringとphp-xmlのインストール
sudo yum install php-mbstring php-xml -y
PHP関連パッケージのインストール
composer install --no-dev --prefer-dist
composer.json
"require": { "php": "^7.2", "fideloper/proxy": "^4.0", "laravel/framework": "^6.2", "laravel/socialite": "^4.4", "laravel/tinker": "^2.0" }, "require-dev": { "facade/ignition": "^1.4", "fzaninotto/faker": "^1.4", "mockery/mockery": "^1.0", "nunomaduro/collision": "^3.0", "phpunit/phpunit": "^8.0" },
Laravelのアプリケーションキー生成
$ php artisan key:generate
githubからコピーした.envファイルを編集
APP_NAME=Laravel APP_ENV=production Localをproductionに変更 APP_KEY=base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= APP_DEBUG=false trueをfalseに変更 APP_URL=http://xxx.xxx.xxx.xxx localhostをEC2のパブリックIPアドレスに変更 # 略
Node.jsインストール
curl -sL https://rpm.nodesource.com/setup_13.x | sudo bash -
.envファイル
APP_NAME=Laravel APP_ENV=production APP_KEY=base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx APP_DEBUG=false APP_URL=http://54.150.158.72 ここをhttps://xxxxxxxx.comにしたほうがいいのか? LOG_CHANNEL=stack DB_CONNECTION=pgsql DB_HOST=laravel-ci.xxxxxxxxxxxxxxxxxxxxxxxx DB_PORT=5432 DB_DATABASE=larasns DB_USERNAME=postgres DB_PASSWORD=xxxxxxxxxxxxxxxxxxxx BROADCAST_DRIVER=log CACHE_DRIVER=file QUEUE_CONNECTION=sync SESSION_DRIVER=cookie SESSION_LIFETIME=120 REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 GOOGLE_CLIENT_ID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx GOOGLE_CLIENT_SECRET=xxxxxxxxxxxxxxxxxxxx MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET= PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_APP_CLUSTER=mt1 MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
回答1件
あなたの回答
tips
プレビュー