Laravel Socialiteでログイン後元の画面に戻るようにする
はじめに
Laravel Socialite っていうソーシャルログインする為のパッケージがあるんだけど、これの使い方とか載せてるサイト見ても、サンプルなのかログイン後 echo
して終わってたり、 redirect()->to('/');
しかやってなくてよく分からなかった。
なので、通常のログインの時に使ってる Illuminate\Foundation\Auth\AuthenticatesUsers
のコード読んでアクセスしようとしたページに戻す方法調べたのでメモ。
調査メモ
とりあえず、ログイン後のリダイレクトしてる所見ればええやろってことで、ファイル開いて redirect
で検索してでてきたこのコードを読む。
protected function sendLoginResponse(Request $request) { $request->session()->regenerate(); $this->clearLoginAttempts($request); return $this->authenticated($request, $this->guard()->user()) ?: redirect()->intended($this->redirectPath()); }
すると redirect()->intended()
とかいうメソッド叩いてたので、それが定義されてる Illuminate\Routing\Redirector.php
を覗く。
public function intended($default = '/', $status = 302, $headers = [], $secure = null) { $path = $this->session->pull('url.intended', $default); return $this->to($path, $status, $headers, $secure); }
セッション使ってるっぽいしこれやな! ってことで、Twitter ログイン後のコールバック処理の中で↓のようなコード書いて無事アクセスしようとしたページに戻れるようになった。
return redirect()->intended('/');
ちゃんちゃん。
PHPカンファレンス2018でスタッフをしてきたよ
今年も例年通りPHPカンファレンス2018でスタッフ業をしてきましたよっと。
今年はなんかひたすらに iOSDC とか builderscon とかの MTG と被ってたり、仕事の都合が合わなかったりで全然事前作業とかはできず、Slack でテキトーなことを言うだけのほぼ当日スタッフみたいな感じになってしまったけど、当日はちゃんと頑張ったのでゆるしてヒヤシンス。
当日は小展示の責任者だったので小展示の設営頑張ったり、司会とかやったり、タイムキーパーしたり、お弁当列の形成したりがメイン。 前日いつもの BrewDog で喉が若干やられてたりしたのと朝一だったので全然声がでないしカミカミで恥かしかった>_<
あとは懇親会の司会で声張り上げまくっていましたね。 あとなんか2日前くらいから当日にかけて、他の PHP 系カンファレンスの人たち(9割福岡)に無茶振りをしまくったりしていた記憶が残っている。
以下会場写真
前日準備で袋詰めが間に合わなかったらしく頑張って朝から袋詰め
開催2日前に決まった他カンファレンス告知エリアに真っ先に Laravel JP Conference の チラシを置きにいった図
わかばちゃん本だ!
Macbook へのサインうらやま
徳丸本を当ててしまった! しかしサイン会のことすっかり忘れていてサインは貰えず…
はぴえるくん可愛い。これ磁石でくっついてるんだけど付け外しするの気持ちよかったので欲しい。
打ち上げ
iOSDC とかで鍛えられたのか 1day だと元気が余るので打ち上げで今年も色々やらかしましたが覚えてないことにしました。
ところで
来年はなんとPHPカンファレンス20回目ですよ! 2019年12月1日に毎年恒例の PiO で開催されるので是非来てくださいね!!
gitで.gitconfigに書いてあるaliasを実行すると固まるようになった件(解決済み)
TL;DR;
- git 2.20にしたら
~/.gitconfig
に書かれてる alias が一切動かなくなったよ brew switch git 2.19.2
したら直ったよgit status
だけ zsh で alias 作っててよかったね
無駄に長いお話
ある日突然 g pl
(git pull のエイリアス) を実行してもまったくなにも返ってこず固まってしまうようになった。
まあどうせインターネッツが調子悪いんやろ? と思いつつpull だと中で複数コマンド実行してるし原因把握しづらいから、g co master
(git checkout master) とか g fo
(git fetch origin) をやってみるけどまったくだめ。
この辺りでなんか意味が分からなくなって、ディスク? いやでも… と思いつつ g di
(git diff) や g dc
(git diff --cached) をやってみるけどこれらもまったく使えない。
完全に git が壊れた! このポンコツ Macbook め!! これだから Mojave になんかしたくなかったんや!!!! ってブチ切れそうになったけど、ふと s
(git status -sb) を実行したら動いたのでそこにあった差分のあるファイルに対して git diff /path/to/file
ってやったら何故か動く。
なんでや! って思いながら git diff
って叩くとなんか動くし、git fetch origin
ってやるとやっぱり動く。
この辺りでようやく、インターネッツに問題があるわけでもなく、ディスクがおかしくなったわけでもなく、Macbook に問題は沢山あるけど今回とは関係ないということが分かって、どうやら自分が設定してる alias が死んでいるな? ということが分かった。
まあ分かったらあとは簡単だよね。 調べてる暇とかないからとりあえず homebrew で前のバージョンの git を入れるよね。 入れたら直ったよね。よかったよかった。完。 というお話でした。
いやまじで git status
を g s
とかでやってなくてよかったというお話。普段使ってるコマンドで alias 指定していないのがないレベルなので、git じゃなく zsh の方で alias 書いてなかったらもっとハマってたよこれ…。
iOSDC Japan 2018にコアスタッフとして参加してきたよ
まったく iOS 関係ない人間だけど、8月30日?29日から9月2日にかけて開催された iOSDC Japan 2018 にコアスタッフとして参加してきたよ。
なんでスタッフなんかやってたの?
iOS とか一切関係ない人間なんですが、主催者の @tomzoh が PHP / Beer 界隈でよく会う人だったのと、懇親会のビールが豪華っていう去年までの実績があったのでビール目当てにコアスタッフに申し込んでました。
はい、完全にタダビール目当てです。 ちなみにこれほぼ同じ文章で3年目です。いつの日か iOS の人間になって参加する日がくるのだろうか…?
前々日まで
今年はコアスタッフだったので、月一の打ち合わせにできるだけ参加しつつSlackでクソリプをする仕事をメインでやってました。
あとなんか最初の方の打ち合わせで謎のベストトーク担当(当日)とかいう謎の担当になってました。
まあベストトークの賞品探したりとかして終わった感じのやつで当日なにもしてないけどね。
いや、ベストトーク発表後ギリギリで思い出して今年こそはベストトーカーが舞台から降りる時にハイタッチするというのを成功?させましたね。
あとは例年通りセッション開始5分前にセッション内容自動ツイートするやつ準備したり、今年はスポンサー様の紹介ツイートがあったのでそれもツイートさせたりとしていました。
あれ、当日スタッフの時と仕事量ほとんど変わってないな? あ、日本酒1本選んだりもした!
前日〜当日
前夜祭の日含めて、普段より朝が早いのを4日連続はキツかった… iOSDC 朝早すぎる…。
今年はなんとコアスタッフだったからなのか Track E の「メイン」担当だったのでアンカンファレンス運営をとても頑張った。
(そういや iOSDC 3年目にして初メイントラック以外かつ @akatsuki174 さんと違う部屋の担当だったのかと今ブログ書いてて気付くなど)
まあ会期の半分以上アンカンファレンスなかったので、最高温度に設定しても若干肌寒い部屋で休憩したりしつつ雑用がメイン。
しかし後で言われてハッとしたけど、冷房じゃなくて除湿とかにしておけばよかったのでは…。
あと他にやっていたのは…
- Opening Party で光が足りないと思ってドンキに走ってサイリウム買ってきたり
© iOSDC Japan (Licensed under CC BY 4.0)
- スポンサー様のボトルウォーターを綺麗に並べたり(ほぼ他のスタッフがやってくれたけど)
スタッフがすごいこだわりを見せ始めている。 #iosdc pic.twitter.com/oWu5v0ItZJ
— hamaco (@hamaco) August 30, 2018スタッフのこだわりその2。上から見ると「ZAIM」に!! #iosdc pic.twitter.com/eg0qKqZvS7
— hamaco (@hamaco) August 30, 2018
- 前夜祭でビールが切れたらドンキに走ってビールを買い占めてきたり
ドリンク補充したんだよぉ〜! #iosdc pic.twitter.com/uZkJNGE6rX
— hamaco (@hamaco) August 30, 2018ビールさらに補充したんだよぉ〜!! #iosdc pic.twitter.com/VucJH8rdmW
— hamaco (@hamaco) August 30, 2018
- スポンサー様のボトルウォーターが足りなくなったらドンキに走って水を買い占めてきたり
- iOSDC の澄んだ Wi-Fi ならきっとガチャ行けるやろ! ってCA様のブース前で祈ってからガチャ回したり
iOSDCのWi-Fiは澄んでるのかなー? #iosdc pic.twitter.com/JCLauaEEmd
— hamaco (@hamaco) August 30, 2018
- 草生やしたり
そうだ、ちょっと前の時点での草進捗。最終日にこれどうなってるかなぁ! #iosdc pic.twitter.com/T1vN9zweGL
— hamaco (@hamaco) August 31, 2018
こうやってみると私ドンキに走っていただけでは…🤔
総評
iOS エンジニアでもなんでもないけど iOSDC はいいぞ。 お祭りみたいで楽しいし、ノベルティも豪華だし、懇親会のビールは美味しいし。
そして、なんといってもイベント後に夜通しパーティーせずに、イベント前にオープニングパーティーをやったのが最高でしたね。 イベント後だと死んでてただのうるさめな睡眠場所だったけど、イベント前だと元気ですし!
あと、引越しをしたので去年と比べて家から近いのでだいぶ朝と夜楽だったのも大きい。ホテルに泊まるよりタクシー往復代の方が安いくらいの距離は本当によかった。
そして、今年はコアスタッフにLTE対応の無線が配られたんだけど、これが距離関係なくどこでもやりとりできるし超便利だった。
これと、さらに今年は副隊長2名にHQ2名的な体制でばっちりまったりできると思っていたけど、なんか去年より歩いてましたねおかしいな。
iOSのイベントだよなここ…w #iosdc pic.twitter.com/NAyt7chfxS
— hamaco (@hamaco) August 31, 2018
iOSDCの思い出です。 pic.twitter.com/9yi8iThDbk
— hamaco (@hamaco) September 3, 2018
豊川風花さんの誕生日が最終日と被っていてお誕生日イラストをTwitterで漁る業ができなかったのが心残り…。
builderscon 低温調理肉会 2018春へ行ってきた
builderscon 主催の牧さんがお肉を焼きたくなったら開催される builderscon の肉塊(肉会)に今回も参加してきたった。 今回も美味い肉と美味い酒に囲まれて幸せな時間でした…。
そういえばトークの募集とかチケットの販売とかもうすぐ始まるっぽいですよ!! 興味ある方は是非応募とか購入とかよろしくおねがいします!!
以下飯テロ画像とか
肉
美味い
ポテトとバターが1:1とかいう危険なやつ
肉
肉
肉
あと、カチョカヴァロってのも食べたけど写真が難しかったので撮ってない( ˘ω˘)
肉に埋もれた謎の写真
iOSDCトリオ+1とか
Karabiner-ElementsでMission Control用のキーバインド設定したった
Karabiner-Elements が単純な置き換えしかできなかった頃に HammerSpoon で頑張ってやっていた、右Command+A-L キーでのデスクトップ切り替えを Karabiner-Elements でやるようにしてみた。
というのも、HammerSpoon での私の書き方が悪いのか、たまに修飾キーが押されっぱなしになってしまい単純に A だけ押した時とかにもデスクトップが切り替わってしまうことがあり地味にストレスが溜まっていたので…。
前からやろうやろうと思ってたんだけど Karabiner-Elements の json を書くのがダルいのを言い訳に放置してたんだけど、最近肩こりがアレなので久し振りに Kinesis を取り出してきてキー配置の設定とかしているのでそのついでに↓のを ~/.config/karabiner/karabiner.json
に書き足して、HammerSpoon 側の処理をコメントアウトして終わり。
これで暫く使ってみて、修飾キーが押されっぱなしになるのが解消されると良いなぁ。
{ "description": "Use Command_R+[ASD FGH JKL] for MissionControl", "manipulators": [ { "from": { "key_code": "a", "modifiers": { "mandatory": [ "right_command" ] } }, "to": [ { "key_code": "1", "modifiers": [ "right_command", "right_control", "right_shift", "right_option" ] } ], "type": "basic" }, { "from": { "key_code": "s", "modifiers": { "mandatory": [ "right_command" ] } }, "to": [ { "key_code": "2", "modifiers": [ "right_command", "right_control", "right_shift", "right_option" ] } ], "type": "basic" }, { "from": { "key_code": "d", "modifiers": { "mandatory": [ "right_command" ] } }, "to": [ { "key_code": "3", "modifiers": [ "right_command", "right_control", "right_shift", "right_option" ] } ], "type": "basic" }, { "from": { "key_code": "f", "modifiers": { "mandatory": [ "right_command" ] } }, "to": [ { "key_code": "4", "modifiers": [ "right_command", "right_control", "right_shift", "right_option" ] } ], "type": "basic" }, { "from": { "key_code": "g", "modifiers": { "mandatory": [ "right_command" ] } }, "to": [ { "key_code": "5", "modifiers": [ "right_command", "right_control", "right_shift", "right_option" ] } ], "type": "basic" }, { "from": { "key_code": "h", "modifiers": { "mandatory": [ "right_command" ] } }, "to": [ { "key_code": "6", "modifiers": [ "right_command", "right_control", "right_shift", "right_option" ] } ], "type": "basic" }, { "from": { "key_code": "j", "modifiers": { "mandatory": [ "right_command" ] } }, "to": [ { "key_code": "7", "modifiers": [ "right_command", "right_control", "right_shift", "right_option" ] } ], "type": "basic" }, { "from": { "key_code": "k", "modifiers": { "mandatory": [ "right_command" ] } }, "to": [ { "key_code": "8", "modifiers": [ "right_command", "right_control", "right_shift", "right_option" ] } ], "type": "basic" }, { "from": { "key_code": "l", "modifiers": { "mandatory": [ "right_command" ] } }, "to": [ { "key_code": "9", "modifiers": [ "right_command", "right_control", "right_shift", "right_option" ] } ], "type": "basic" } ] }
iOSDC Japan 2017 に当日スタッフとして参加してきた
まったく iOS 関係ない人間だけど、9月15日から9月17日にかけて開催された iOSDC Japan 2017 に当日スタッフとして参加してきました。
なんでスタッフなんかやってたの?
iOS とか一切関係ない人間なんですが、主催者の @tomzoh が PHP / Beer 界隈でよく会う人だったのと、懇親会のビールが豪華っていう去年の実績があったのでビール目当てに当日スタッフに申し込んでました。 はい、完全にタダビール目当てです。
前日まで
当日スタッフなのでとりあえずSlackに入ってぼけーっとビール関係の話題の時にクソリプをするということをメインでやってた。 あとは去年と同様にトークの開始5分前に次こんなセッションやるよーってのをツイートする為のデータをセコセコと作成。
あとはひたすら寝て過ごしていました( ˘ω˘)スヤァ…
当日
私は Track A の担当だったので @akatsuki174 さんの下テキトーにうにゃうにゃとしておりました。今年は質疑応答時のマイク係が多かったので主にセッション中の雑用をやっていた感じ。
- 去年とかbuildersconでも同じ仕組みで勝手が分かっていたのでタイムキーパー用のiPhone/iPadの設置をしたり
- セッション中に参加者・ビデオ・カメラ的に一番問題なさそうな電気の調整をしたり
- マイクスタンドがなかったのでコードがでてくるセッションの時はマイクを持っていたり
- フリードリンクエリアに行ってビールの冷え具合を確認したり
- Track A は会場で温度調節ができず、防災センターに電話する必要があるので誰かが会場寒いってツイートを見かけたらSlackに貼ってくれるのでそれを見て電話したり
- とむぞーさんの反応がない時は探し回ったり
- LT中にバドワイザー配りつつ飲んだり
ちなみに一番頑張ったのは準備中のフリードリンクを並べる所でした。4つ並べると鶴が見えるってことでひたすら並べていたり…。
あとは、クロージング後にスタッフ打ち上げをしてからの夜のiOSDCで僕の元気は完全に0になりました。
クーポンを頂いたのでJapan Taxiで帰ってみる。 #iosdc pic.twitter.com/QrNW6VUHIb
— 🍺🐶 (@hamaco) 2017年9月17日
Japan Taxi様のクーポンがなかったら駅で力尽きて死んでいたかもしれませんね。
翌日
夜のiOSDCの疲れにより1回休み。地味に足が痛くて辛い1日でした。