最近のrailsでのパスワード認証gemって何使ってます?
The Ruby Tool BoxのWeb Authentiationカテゴリーを参照。
devise
やってくれることは多いがカスタマイズしづらいので嫌う人も多い。俺はこれ使ってる。 しかし登場から時間が経ち、railsの仕様に追従していくにつれて初期の設計に無理がきてる感。特にrails7からはさらに。
sorcery
やってくれることは少ないが、カスタマイズしやすい。bootcampのアプリはこれを使ってる。(確か @hrysd が入れた) リニューアル版sorcery(sorcery-rework)が別リポジトリで進んでるが、当分完成しそうにな。
authlogic
使ったことないけどちょっと古い感?
clearance
使ったことないけどちょっと古い感2
railsの基本機能を使って自作
これが多いのかも?
個人的には認証などのセキュリティが大きく絡むところはなるべくgemなどみんなが見ている(セキュリティパッチがすぐ入りやすい)ところのを使いたいな〜と思っております。
みなさんのプロジェクトではどんな感じでしょう? 温度感が知りたい感。
railsの6系最新(6.1.4.4)とrubyの最新(3.1.0)にアップグレードするときに対応してないgemにPRを送る作業をやっています。
bootcampのrails 6.1.4.4
https://github.com/fjordllc/bootcamp/pull/4101
pgのwarningが残ってる。(こういうところも粘り強く対応できるようになっていきたい)
bootcampのruby 3.1.0
https://github.com/fjordllc/bootcamp/pull/4108
@ima1zumiさんが3.0.2にアップデートする作業を初めてくれて、そこに乗る形でやりとりさせていただいてました。3.0.3だと起きるけど3.1.0では起きない問題があったので一気に上げちゃう方針に。こういうところも粘り強く(略
おかげでCI通ったようなのであと一歩。
sorcery-jwt
https://github.com/hayfever/sorcery-jwt/pull/14
sorcery-jwtはdependencyの設定を変えないと最新のsorceryで使うことができない。sorcery-jwt自体、リニューアル後(予定)の新sorceryではcore pluginになる予定だそうで、こちらのgemをもうupdateする気はないのかもしれない。とりあえずforkして対応してるけど、メールを送ってみる予定。
ActiveFlag
https://github.com/kenn/active_flag/pull/19
これはbundlerのバージョンによるものだった。
今後
ruby 3.1.0にできたら次はrails 7.0.1に上げる作業をやる予定。こっちも色々PRに必要になるでしょう。
ActiveFlagのテストでrequire 'set'
が必要かもという問題。
人によって結果が違うのなぜかな〜という状態だったんですが、(実行していただいた方々ありがとうございます)
これ俺の環境だけのせいかも?(エラー出るの俺だけかも?)もしどなたか試してみていただけるとありがたいです〜。 https://t.co/YTmgFA49jR
— Masaki Komagata (@komagata) January 30, 2022
bundler 2.2.8でrequire 'set'
がなくなったのが原因だそうです。
https://github.com/kenn/active_flag/pull/19#issuecomment-1025093171
この行。
ほぼ標準といえるようなgemから依存がなくなるとこういうことが起きるんですね。setについて他のライブラリでも似たようなこと起きてるかもしれません。環境を示すときはbundlerのバージョンも示した方がいいんだなと勉強になりました。
ボランティア開発者が「反乱」。もっとオープンソースに還元されるべき?(山口健太) - 個人 - Yahoo!ニュース
これいろんな意見がありますよね。オープンソース・オープンソースコミュニティ大好きなので開発者・ユーザーにとって良い方向に進むといいなと思います。
それとは別に、オープンソース開発者の義務について思うこと。
OSSに好き勝手に要望を出すことは良いと思う。
「だったら自分でやれよ」って言っちゃうとフィードバックが無くなっちゃうので。
それと同時にOSSコミッターが持つ最大の権利が、
「要望を無視すること」
かな〜と思いました。(要望を「反論する」「却下する」ではなく「無視する」)
「好き勝手に要望を出すのはOK」ただしコミッタは「スルーする権利」を持つ。
好き勝手な要望に全部向き合わないといけないのではコミッターの体が持たないんじゃないかな〜と思います。
この「スルーする」っていうのっていろんな場面で強力な選択肢だと思ってます。
重要なOSSのコミッターの方々には利益を得て欲しいと思うと同時に、負担が減ればいいな〜と切に思います。
先週作ったPRにコメント欄でリマインド。
Update requirements for sorcery by komagata · Pull Request #14 · hayfever/sorcery-jwt
railsアプリをruby3.0.3にアップデートする作業で、ActiveFlagのto_humanメソッドが落ちる。ActiveFlagにPRを作ろうかと思いgemのrake test
をするとエラーが起きるのでまずそれを治すPRを作った。
'require' is needed by komagata · Pull Request #19 · kenn/active_flag
railsアプリのその部分、ruby3.1.0にすると起きないので調査する気力がダウン…。
その調査の途中で見つけたfixtureデータの不正をPRして時間切れ。
テストデータが不正だったのを修正 by komagata · Pull Request #4033 · fjordllc/bootcamp
引越しのための物の整理をしていたら昔のデータのCD-ROMを見つけました。そこに消失したとおもていた昔のこのブログ(昔はホームページの日記だった)の画像データが残っていたので、いくつか画像を復旧してみました。
Redhat9のインストール方法なんて誰も欲してないと思いますが…。
少し作業すると左肩が痛くなるようになって半年ほど経ちます。
何もやってない状態でも左上でに力が入ってるのが原因だと思います。今のキーボードだと手首の上あたりを支点にしてキーを打つ指を支えてる感じなので変な力が入っています。そこでパームレストあればいいのかもと思いました。
丁度良い厚みがわからないのでまずは段ボールでプロトタイプを作ってみました。
薄めの段ボールを四枚重ねた厚さが丁度良さそう。
ぴったりで良い感じです!