Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OAuth2.0完全に理解した
Search
ryome
May 18, 2023
Technology
0
130
OAuth2.0完全に理解した
OAuth2.0完全に理解した
ryome
May 18, 2023
Tweet
Share
More Decks by ryome
See All by ryome
PlaywrightというE2Eテストツールを布教したい
ryome
0
24
Cursorという最強エディタを使いこなしたい
ryome
0
82
E2Eテストを自動化したい
ryome
0
59
AWS CodeBuildを高速化したい
ryome
0
240
CDKでAppSyncのJavaScriptリゾルバを開発したい
ryome
0
230
Cognitoの複数IDP認証でユーザを統合したい
ryome
0
790
Amazon_CodeWhispererで生産性を爆上げする
ryome
0
69
Cloud9にリモートデスクトップ接続する
ryome
0
220
Docker-ComposeをECSにデプロイしたい
ryome
0
230
Other Decks in Technology
See All in Technology
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
310
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
200
心が動くエンジニアリング ── 私が夢中になる理由
16bitidol
0
100
組織成長を加速させるオンボーディングの取り組み
sudoakiy
2
220
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
110
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
160
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
150
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
1
300
LINEヤフーにおけるPrerender技術の導入とその効果
narirou
1
160
Application Development WG Intro at AppDeveloperCon
salaboy
0
200
Storybook との上手な向き合い方を考える
re_taro
5
1k
Featured
See All Featured
Ruby is Unlike a Banana
tanoku
97
11k
Designing for humans not robots
tammielis
250
25k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Language of Interfaces
destraynor
154
24k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Code Reviewing Like a Champion
maltzj
520
39k
Embracing the Ebb and Flow
colly
84
4.5k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Practical Orchestrator
shlominoach
186
10k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Transcript
OAuth 2.0 完全に理解した。
OAuth 2.0とは? OAuth(オー・オース) は、Open Authorization の略。 OAuth 2.0 は、異なる2つのサービス間でユーザー情報などの リソースを共有することを可能にする、ユーザー権限の認可をおこ
なうためのスタンダードです。 ユーザーがユーザー名(IDやメールアドレス等)とパスワードをク ライアントに提供することなく、ユーザ情報の開示ができることが メリット。
OAuth 1.0とOAuth 2.0の違い • OAuth 1.0では、署名プロセスのみの認証しかサポートしていな い。 • OAuth 2.0は、より多くの認証フローをサポートしている。
(認証コードフロー、暗黙のフロー、リソース所有者パスワー ド資格情報フロー、クライアント資格情報フローなど)
OAuth 2.0のインフラ構成図
OAuth 2.0のシーケンス図 今回のサンプルは 認証コードフロー
今回作ったアプリのUI 詳しくはこちら↓ https://github.com/ryomeblog/google-oauth
環境構築説明 プロジェクト作成 • GCP: https://console.cloud.google.com/welcome
環境構築説明 クライアントIDとクライアントシークレット発行
環境構築説明 バックエンド(Lambda)デプロイ
環境構築説明 Reactアプリ起動
react-google-loginに悩まされる • 認証が通っても「popup_closed_by_user」エラーになるバグがあります。 • 2017年から直ってません。 • 「@react-oauth/google」を使いましょう。 詳しくはこちら↓ https://github.com/anthonyjgrove/react-google-login/issues/132
GitHub 今回解説した「 OAuth 2.0 」のサンプルコードは GitHubに格納しています。 GitHub URL https://github.com/ryomeblog/google-oauth
参考文献 • https://github.com/ryomeblog/google-oauth • https://github.com/anthonyjgrove/react-google- login/issues/132 • https://developers.google.com/identity/protocols/oauth 2?hl=ja