発生している問題
下記のようにLaravelを用いたwebサービスをhttps化したら、
postやlaravel socialiteを利用したtwitter認証ができなくなってしまいました。
・cloudfront→ALB→EC2
↓
・https→cloudfront→ALB→EC2はCertificate Managerで発行
※ https
postの場合はTokenMismatchExceptionが発生し、
laravel socialiteの場合はstatus code 500で返ってきます。
原因
原因はhttps化前後で、
postまたはtwitter認証後のredirect時のRequest($request)内の#session:Storeの値が下記のように異なるからではないかと考えていますが、解決方法がわかりません。
・https化前
#session: Store {#▼ #id: "XXXXXXXXXXXXXXXXXXXXXXXXX" #name: "XXXXXXXXXXXXXXXXXXXXXXXXX_session" #attributes: array:4 [▼ "_flash" => array:2 [▼ "old" => [] "new" => [] ] "_token" => "XXXXXXXXXXXXXXXXXXXXXXXXX" "url" => array:1 [▼ "intended" => "http://XXXXXXXXX/XXXXXXXXX/XXXXXXXXX" ] "_previous" => array:1 [▼ "url" => "http://XXXXXXXXX/XXXXXXXXX" ] ] #handler: DatabaseSessionHandler {#▶} #started: true}
・https化後
#session: Store {#▼ #id: "XXXXXXXXXXXXXXXXXXXXXXXXX" #name: "XXXXXXXXXXXXXXXXXXXXXXXXX_session" #attributes: [ "_token" => "XXXXXXXXXXXXXXXXXXXXXXXXX" ] #handler: DatabaseSessionHandler {#▶} #started: true}
試したこと
・apacheの再起動
・laravelのキャッシュクリア
補足情報(FW/ツールのバージョンなど)
環境
・ Laravel 5.5
・ PHP 7.0
・ Appache 2.4
・ Amazon Linux AMI release 2018.03
この問題にずっとハマっており、中々解決できずにいます。
恐れ入りますが、解決方法のご教授お願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/06 15:53
2018/08/07 02:42
2018/08/10 16:50