楽ちんユーザー認証付Spa

楽ちん認証付きSPA
フロントエンドもくもく会 LT大会
@corocn
PROFILE
● @corocn(ころちゃん)
● Misoca Inc.
● Ruby (Rails), PHP, AWS
● サーバーサイドの人なのでフロントエンドは苦手
です(><)
最近の話
SPAでアプリケーションを作るの
が流行ってるそうですが
ぶっちゃけ複雑
流行りのSPAで楽に開発できそうな構成を考えてみ
ました
最近のアプリ
SPA
Mobile
App
REST API
ServerlessMonolith
RDB NoSQL
Cloud FunctionsAPI Gateway
Realtime DatabaseDynamoDB
Microservice?
楽したいので....
SPA
Mobile
App
REST API
ServerlessMonolith
RDB NoSQL
Cloud FunctionsAPI Gateway
Realtime DatabaseDynamoDB
Microservice?
認証は?
今日一番話したいこと
Auth0を使う
https://auth0.com/jp/
Auth0
● クラウド認証プラットフォーム
● SDKが豊富で組み込みが楽
● JsonWebToken (JWT) に対応 https://jwt.io/
● RailsのDevise, OmniAuthあたりで時間を浪費した
くないので使うことにした
楽ちんユーザー認証付Spa
チュートリアルも豊富
SPA用のサンプルなので、他にもあるよ
連携できるサービスが豊富
Auth0との連携ができてればGoogle, Github, Twitterを使ってのユー
ザー認証がすぐできる
Whitelist
● ささっと書ける
https://github.com/nuxt/example-auth0
Nuxt.js + Auth0の例
(しかしサンプルが壊れてて実際は動かない)
GIF
最終的にこうなった
REST API
専用のUser/Passwordはダルいので
GoogleアカウントでSingleSignOnする
余談ですが、1レポジトリ、1サーバーで管理するために、 SPAモードで静的ファイルを生成して Railsの
publicフォルダにぶち込むなどしています。本当は CDNに置いたほうが良いよね・・・
Webpackerがつらいので、
割り切ってAPIサーバーにしている
2.G社の認
証ログイン
ページへ
1.認証
3.認証成功
4.ユーザー作成
or 取得
※JsonWebToken
User ID等の情報を
Payloadとして保持する
中身は見えるけど書き換
えられない
localStorage
秘密鍵
公開鍵
8.正しいToken
か検証 & ユー
ザー情報取得
ペア
5.ユーザー情報
を含むJWTを返
す
6.保存
7.API呼ぶ
ちょっと複雑に見えるかもしれませんが、フロントと
サーバーサイドを疎結合にした上で、いい感じに認
証できたと思っている
(Auth0にロックインするという問題はある)
JWT便利
駆け足だったので、どっかでちゃ
んとまとめる予定です(技術書典
に出すかも)
時間あれば色々試した話をします
● Vue.js + AWS Amplify (Cognito)
○ IAMやら権限周りが複雑
○ JWTを仕組みとして使ってる
● Nuxt.js + Firebase
○ Cronを使うのにGAEのPub/Subとか使う必要有
○ Realtime Databaseのクセが強い
● Nuxt.js + Rails API + Devise + Heroku
○ NuxtからRailsにリダイレクトしたりと地獄
○ Deviseつらい
ありがとうございました
1 von 26

Recomendados

俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編 von
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編Masayuki KaToH
2.6K views44 Folien
スマホアプリ開発者のためのWeb api開発入門の入門 von
スマホアプリ開発者のためのWeb api開発入門の入門スマホアプリ開発者のためのWeb api開発入門の入門
スマホアプリ開発者のためのWeb api開発入門の入門Kenyu Miura
34.7K views43 Folien
10分でわかるOpenAPI V3 von
10分でわかるOpenAPI V310分でわかるOpenAPI V3
10分でわかるOpenAPI V3Kazuchika Sekiya
4.2K views9 Folien
Serverlessでサイト監視 von
Serverlessでサイト監視Serverlessでサイト監視
Serverlessでサイト監視shigeyuki azuchi
4K views15 Folien
ドローンの安全運転をささえるLambda von
ドローンの安全運転をささえるLambdaドローンの安全運転をささえるLambda
ドローンの安全運転をささえるLambda真吾 吉田
2.6K views18 Folien
Cognitive serviceのすゝめ von
Cognitive serviceのすゝめCognitive serviceのすゝめ
Cognitive serviceのすゝめTsubasa Yoshino
152 views11 Folien

Más contenido relacionado

Was ist angesagt?

Realm meet up #17 von
Realm meet up #17Realm meet up #17
Realm meet up #17Daisuke Nagata
1.6K views39 Folien
APIモック3分クッキング von
APIモック3分クッキングAPIモック3分クッキング
APIモック3分クッキング政雄 金森
2.6K views48 Folien
Wakanda in 5 minutes von
Wakanda in 5 minutesWakanda in 5 minutes
Wakanda in 5 minutes光一 原田
561 views12 Folien
Jawsug chiba API Gateway von
Jawsug chiba API GatewayJawsug chiba API Gateway
Jawsug chiba API GatewayTakuro Sasaki
15K views59 Folien
サービスについて von
サービスについてサービスについて
サービスについてpollseed
190 views7 Folien
What is Serverless? von
What is Serverless?What is Serverless?
What is Serverless?Terui Masashi
2.1K views16 Folien

Was ist angesagt?(16)

APIモック3分クッキング von 政雄 金森
APIモック3分クッキングAPIモック3分クッキング
APIモック3分クッキング
政雄 金森2.6K views
サービスについて von pollseed
サービスについてサービスについて
サービスについて
pollseed190 views
Let's try to use Background sync von Hirata Tomoko
Let's try to use Background syncLet's try to use Background sync
Let's try to use Background sync
Hirata Tomoko1.2K views
PowerShellでFunction Appしよう! von Tsubasa Yoshino
PowerShellでFunction Appしよう!PowerShellでFunction Appしよう!
PowerShellでFunction Appしよう!
Tsubasa Yoshino1.1K views
Web API をデバックするときに必要なたったひとつのこと von Tomokazu Kiyohara
Web API をデバックするときに必要なたったひとつのことWeb API をデバックするときに必要なたったひとつのこと
Web API をデバックするときに必要なたったひとつのこと
Tomokazu Kiyohara1.4K views
「Swagger」によるAPI仕様の管理と標準化 von Masatoshi Tsuchino
「Swagger」によるAPI仕様の管理と標準化「Swagger」によるAPI仕様の管理と標準化
「Swagger」によるAPI仕様の管理と標準化
Masatoshi Tsuchino910 views
Swaggerで始めるモデルファーストなAPI開発 von Takuro Sasaki
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
Takuro Sasaki100.9K views
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform von 拓将 平林
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
拓将 平林1.3K views
20180616 to takepartflow von Tomoyuki Obi
20180616 to takepartflow20180616 to takepartflow
20180616 to takepartflow
Tomoyuki Obi4.5K views
LINE API 紹介&LINE API Use Case(Azure編) von 拓将 平林
LINE API 紹介&LINE API Use Case(Azure編)LINE API 紹介&LINE API Use Case(Azure編)
LINE API 紹介&LINE API Use Case(Azure編)
拓将 平林800 views

Similar a 楽ちんユーザー認証付Spa

#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ von
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチKazuya Sugimoto
2.4K views86 Folien
プログラム・マネジメント @ Open棟梁プロジェクト von
プログラム・マネジメント @ Open棟梁プロジェクトプログラム・マネジメント @ Open棟梁プロジェクト
プログラム・マネジメント @ Open棟梁プロジェクトDaisuke Nishino
413 views5 Folien
Workshop1-02 von
Workshop1-02Workshop1-02
Workshop1-02mashimonator
349 views16 Folien
AWSによるサーバーレスアーキテクチャ von
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ真吾 吉田
3K views26 Folien
Data API + AWS = (CMS どうでしょう 札幌編) von
Data API + AWS =  (CMS どうでしょう 札幌編)Data API + AWS =  (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)Yuji Takayama
2.6K views40 Folien
Workshop1-01 von
Workshop1-01Workshop1-01
Workshop1-01mashimonator
552 views20 Folien

Similar a 楽ちんユーザー認証付Spa(20)

#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ von Kazuya Sugimoto
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
Kazuya Sugimoto2.4K views
プログラム・マネジメント @ Open棟梁プロジェクト von Daisuke Nishino
プログラム・マネジメント @ Open棟梁プロジェクトプログラム・マネジメント @ Open棟梁プロジェクト
プログラム・マネジメント @ Open棟梁プロジェクト
Daisuke Nishino413 views
AWSによるサーバーレスアーキテクチャ von 真吾 吉田
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
真吾 吉田3K views
Data API + AWS = (CMS どうでしょう 札幌編) von Yuji Takayama
Data API + AWS =  (CMS どうでしょう 札幌編)Data API + AWS =  (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)
Yuji Takayama2.6K views
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! von Masato Noguchi
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
Masato Noguchi3.1K views
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所 von Y Watanabe
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Y Watanabe1.8K views
オレ流クラウドデザイン von Atsushi Kojima
オレ流クラウドデザインオレ流クラウドデザイン
オレ流クラウドデザイン
Atsushi Kojima2.9K views
Service workerとwebプッシュ通知 von zaru sakuraba
Service workerとwebプッシュ通知Service workerとwebプッシュ通知
Service workerとwebプッシュ通知
zaru sakuraba3.7K views
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践 von 真吾 吉田
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
真吾 吉田436 views
RIA開発におけるサービス開発のイロハ von Jun Funakura
RIA開発におけるサービス開発のイロハRIA開発におけるサービス開発のイロハ
RIA開発におけるサービス開発のイロハ
Jun Funakura619 views
『RIA開発におけるサービス開発のイロハ』 von Jun Funakura
 『RIA開発におけるサービス開発のイロハ』 『RIA開発におけるサービス開発のイロハ』
『RIA開発におけるサービス開発のイロハ』
Jun Funakura517 views
Realm platform2019 von 昌桓 李
Realm platform2019Realm platform2019
Realm platform2019
昌桓 李1.2K views
認証/認可が実現する安全で高速分析可能な分析処理基盤 von Masahiro Kiura
認証/認可が実現する安全で高速分析可能な分析処理基盤認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤
Masahiro Kiura7.3K views
SAP HANAは 単なるインメモリーデータベースじゃなくて (賢い)アプリの開発・実行プラットフォーム von Makoto Sugishita
SAP HANAは 単なるインメモリーデータベースじゃなくて (賢い)アプリの開発・実行プラットフォームSAP HANAは 単なるインメモリーデータベースじゃなくて (賢い)アプリの開発・実行プラットフォーム
SAP HANAは 単なるインメモリーデータベースじゃなくて (賢い)アプリの開発・実行プラットフォーム
Makoto Sugishita12K views

楽ちんユーザー認証付Spa