狠狠撸

狠狠撸Share a Scribd company logo
楽ちん認証付き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用のサンプルなので、他にもあるよ
連携できるサービスが豊富
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にロックインするという問題はある)
闯奥罢便利
駆け足だったので、どっかでちゃ
んとまとめる予定です(技術書典
に出すかも)
時間あれば色々試した話をします
● 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つらい
ありがとうございました
Ad

Recommended

PPTX
俺とサーハ?レスアーキテクチャ Aws cognito + aws api gateway 編
Masayuki KaToH
?
PDF
スマホアフ?リ開発者のためのWeb api開発入門の入門
Kenyu Miura
?
PPTX
10分て?わかるOpenAPI V3
Kazuchika Sekiya
?
PDF
厂别谤惫别谤濒别蝉蝉でサイト监视
shigeyuki azuchi
?
PDF
ドローンの安全运転をささえる尝补尘产诲补
真吾 吉田
?
PPTX
Cognitive serviceのすゝめ
Tsubasa Yoshino
?
PDF
Sl study 20150804-soft-layer-apibasic-shibata
Naoki Shibata
?
PDF
Realm,rx swift,repro を使ってみて
Daisuke Nagata
?
PDF
Realm meet up #17
Daisuke Nagata
?
PPTX
础笔滨モック3分クッキング
政雄 金森
?
KEY
Wakanda in 5 minutes
光一 原田
?
PDF
Jawsug chiba API Gateway
Takuro Sasaki
?
PDF
サーヒ?スについて
pollseed
?
PDF
What is Serverless?
Terui Masashi
?
PDF
Let's try to use Background sync
Hirata Tomoko
?
PPTX
PowerShellでFunction Appしよう!
Tsubasa Yoshino
?
PDF
Web API をデバックするときに必要なたったひとつのこと
Tomokazu Kiyohara
?
PPTX
「厂飞补驳驳别谤」による础笔滨仕様の管理と标準化
Masatoshi Tsuchino
?
KEY
BEAR.Sunday@phpcon2012
Akihito Koriyama
?
PPTX
20170705 apiをつくろう
CData Software Japan
?
PDF
厂飞补驳驳别谤で始めるモデルファーストな础笔滨开発
Takuro Sasaki
?
PDF
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
拓将 平林
?
PPTX
20180616 to takepartflow
Tomoyuki Obi
?
PDF
LINE API 紹介&LINE API Use Case(Azure編)
拓将 平林
?
PDF
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
Kazuya Sugimoto
?
PDF
プログラム?マネジメント @ Open棟梁プロジェクト
Daisuke Nishino
?
PPTX
Workshop1-02
mashimonator
?
PDF
础奥厂によるサーバーレスアーキテクチャ
真吾 吉田
?
PDF
Data API + AWS = (CMS と?うて?しょう 札幌編)
Yuji Takayama
?
PPTX
Workshop1-01
mashimonator
?

More Related Content

What's hot (16)

PDF
Realm meet up #17
Daisuke Nagata
?
PPTX
础笔滨モック3分クッキング
政雄 金森
?
KEY
Wakanda in 5 minutes
光一 原田
?
PDF
Jawsug chiba API Gateway
Takuro Sasaki
?
PDF
サーヒ?スについて
pollseed
?
PDF
What is Serverless?
Terui Masashi
?
PDF
Let's try to use Background sync
Hirata Tomoko
?
PPTX
PowerShellでFunction Appしよう!
Tsubasa Yoshino
?
PDF
Web API をデバックするときに必要なたったひとつのこと
Tomokazu Kiyohara
?
PPTX
「厂飞补驳驳别谤」による础笔滨仕様の管理と标準化
Masatoshi Tsuchino
?
KEY
BEAR.Sunday@phpcon2012
Akihito Koriyama
?
PPTX
20170705 apiをつくろう
CData Software Japan
?
PDF
厂飞补驳驳别谤で始めるモデルファーストな础笔滨开発
Takuro Sasaki
?
PDF
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
拓将 平林
?
PPTX
20180616 to takepartflow
Tomoyuki Obi
?
PDF
LINE API 紹介&LINE API Use Case(Azure編)
拓将 平林
?
Realm meet up #17
Daisuke Nagata
?
础笔滨モック3分クッキング
政雄 金森
?
Wakanda in 5 minutes
光一 原田
?
Jawsug chiba API Gateway
Takuro Sasaki
?
サーヒ?スについて
pollseed
?
What is Serverless?
Terui Masashi
?
Let's try to use Background sync
Hirata Tomoko
?
PowerShellでFunction Appしよう!
Tsubasa Yoshino
?
Web API をデバックするときに必要なたったひとつのこと
Tomokazu Kiyohara
?
「厂飞补驳驳别谤」による础笔滨仕様の管理と标準化
Masatoshi Tsuchino
?
BEAR.Sunday@phpcon2012
Akihito Koriyama
?
20170705 apiをつくろう
CData Software Japan
?
厂飞补驳驳别谤で始めるモデルファーストな础笔滨开発
Takuro Sasaki
?
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
拓将 平林
?
20180616 to takepartflow
Tomoyuki Obi
?
LINE API 紹介&LINE API Use Case(Azure編)
拓将 平林
?

Similar to 楽ちんユーサ?ー认証付厂辫补 (20)

PDF
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
Kazuya Sugimoto
?
PDF
プログラム?マネジメント @ Open棟梁プロジェクト
Daisuke Nishino
?
PPTX
Workshop1-02
mashimonator
?
PDF
础奥厂によるサーバーレスアーキテクチャ
真吾 吉田
?
PDF
Data API + AWS = (CMS と?うて?しょう 札幌編)
Yuji Takayama
?
PPTX
Workshop1-01
mashimonator
?
PDF
谤别辩耻别蝉迟-蝉辫别肠を利用していい感じにモックデータを作ってフロントエンド开発を楽にしたい!
Masato Noguchi
?
PDF
奥别产エンジニアがスタートダッシュをキメるためのローカル开発环境の勘所
Y Watanabe
?
PDF
[Japan Tech summit 2017] DEP 005
Microsoft Tech Summit 2017
?
PPTX
オレ流クラウドデザイン
Atsushi Kojima
?
PDF
Service workerとwebフ?ッシュ通知
zaru sakuraba
?
PPTX
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
真吾 吉田
?
PDF
搁滨础开発におけるサービス开発のイロハ
Jun Funakura
?
PDF
『搁滨础开発におけるサービス开発のイロハ』
Jun Funakura
?
PDF
Serverless for VUI
真吾 吉田
?
PDF
Realm platform2019
昌桓 李
?
PPTX
Workshop1-03
mashimonator
?
PPTX
认証/认可が実现する安全で高速分析可能な分析処理基盘
Masahiro Kiura
?
PDF
非SAPの人に贈るSAP on AWS
Ryusaburo Tanaka
?
PDF
SAP HANAは 単なるインメモリーデータベースじゃなくて (賢い)アプリの開発?実行プラットフォーム
Makoto Sugishita
?
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
Kazuya Sugimoto
?
プログラム?マネジメント @ Open棟梁プロジェクト
Daisuke Nishino
?
Workshop1-02
mashimonator
?
础奥厂によるサーバーレスアーキテクチャ
真吾 吉田
?
Data API + AWS = (CMS と?うて?しょう 札幌編)
Yuji Takayama
?
Workshop1-01
mashimonator
?
谤别辩耻别蝉迟-蝉辫别肠を利用していい感じにモックデータを作ってフロントエンド开発を楽にしたい!
Masato Noguchi
?
奥别产エンジニアがスタートダッシュをキメるためのローカル开発环境の勘所
Y Watanabe
?
[Japan Tech summit 2017] DEP 005
Microsoft Tech Summit 2017
?
オレ流クラウドデザイン
Atsushi Kojima
?
Service workerとwebフ?ッシュ通知
zaru sakuraba
?
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
真吾 吉田
?
搁滨础开発におけるサービス开発のイロハ
Jun Funakura
?
『搁滨础开発におけるサービス开発のイロハ』
Jun Funakura
?
Serverless for VUI
真吾 吉田
?
Realm platform2019
昌桓 李
?
Workshop1-03
mashimonator
?
认証/认可が実现する安全で高速分析可能な分析処理基盘
Masahiro Kiura
?
非SAPの人に贈るSAP on AWS
Ryusaburo Tanaka
?
SAP HANAは 単なるインメモリーデータベースじゃなくて (賢い)アプリの開発?実行プラットフォーム
Makoto Sugishita
?
Ad

楽ちんユーサ?ー认証付厂辫补