タイトルの通り Auth0 と SPAの本を書きました。
Auth0とは
Auth0 は 認証・ID管理を開発者に提供するクラウド認証プラットフォームです。 シンプルでアプリケーションに簡単に組み込めます。
WebTaskと呼ばれる、AWS Lambdaのようなサーバーレスなコード実行の仕組みを独自で持っていて、 JavaScriptなどでルールを記述することによって、名寄せなどの仕組みを簡単に実現できます。
Never Compromise on Identity. - Auth0
なぜこの本を書こうと思ったか
この本は、技術書典4で出版した同人誌の、商業版です。
プライベートでもアプリを書いたりするのですが、 認証の仕組みって意外と面倒だけど本来のビジネスロジックに関係ないんで、 ささっと実装して本当に実装したい部分に注力したいはず。でもセキュリティ怖いから適当できない。
例えばRailsにはDeviseやSorceryという認証系のライブラリがあるのですが、 もっとかっこよくスマートにログインさせたいという気持ちで、それを解決してくれる仕組みを探していました。
Firebase や AWS Cognito も試してみたのですが、一番シンプルで簡単でしっくりきたのがAuth0でした。 特に Cognito は難しい。Cognitoで何ヶ月も検討してダメだったけど、Auth0なら数日で実現できたという話も聞いてます。
認証関連の情報って少ない
認証の話ってセキュリティに直結するところなので、実装の話を企業はなかなか公開しません。 さらにSPAとなると、フロントエンドとバックエンドが明確に分離しているので、さっと試すのもなかなか大変です。
本書はAuth0 のタイトルが全面に出てしまっていますが、JWTを使った基本的な認証の仕組みを学ぶことが大きなテーマでもあります。 実際に手元で動かして、試してみてください。基本知識を身につけることで、 Auth0を使わない認証にも応用できるはずです。
むすび
そんなこんなで、勢いで同人誌を出したのですが、意外な反響があって、2018/08/31 に商業版として出版することができました。 この場を借りて皆様に感謝申し上げます。
大筋は一緒ですが、書き足りないなと思っているところを加筆していったら、ほぼ倍のページ数になりました。 ぜひお手にとっていただけると嬉しいです。
「Auth0」で作る!認証付きシングルページアプリケーション | 電子書籍とプリントオンデマンド(POD) | NextPublishing(ネクストパブリッシング)
以下、Twitterの声を引用させていただきました。
Webサービス作る本の表紙のVueちゃんが表紙を飾っている「Auth0 + Nuxt.js + Rails」本が出版するみたい☺️
— ナベ🍲 / ためしがき / Amazonで本の販売始まりました! (@nabettu) 2018年8月28日
業務レベルで使える認証周りとその結合方法とかのあれこれを学べる本です。
「Auth0」で作る!認証付きシングルページアプリケーション https://t.co/XKkAi9vCPj
この本、PDFで購入して読みましたが分かりやすく、とりあえずAuth0試して見たい人は読む価値ありますよー https://t.co/KSMn4a2TDI
— 前から2番@8/29LT大会開催 (@kuwahara_jsri) 2018年8月29日