1.1K Views
December 17, 18
スライド概要
Developers Boost A-5 の資料です
2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp
ID連携を用いたサービス間連携と QR決済サービスPayPay 2018年12月15日 ヤフー株式会社 本間洋光 0. ( 2 0 2 11 )0. ) 8
自己紹介(本間 洋光) • ヤフー株式会社所属 • 新卒で入社し現在3年目 • Yahoo! JAPAN IDに関わる 開発・運用を担当する部署に所属 0. ( 2 0 2 11 )0. ) 8
お話すること • ID連携の仕組みとヤフーにおける 活用事例 • ヤフーのIDを担う部門の役割を紹介 ( 1 08 ( 0 ) 3( 81 3 22 1 08 . . .
サービス数 100 以 上 月間4587万ログインユーザー 0. ( 2 0 2 11 )0. ) 8 出典: 2018年度第2四半期事業指標 推移表
スマホ決済アプリPayPayを10月に提供開始 ( 5 1 08 ( 0 ) 5 ( 5 81 22 1 08 . . .
PayPayとは • ソフトバンクとヤフーが出資し 設立した会社が提供する決済サービス • スマホひとつで支払いが完結 ( 61 08 ( 0 ) ( 6 6 81 22 1 08 . .6 .
多くのサービスを個人に最適に届けるため • 利用者を識別してデータを保持することで サービスの最適化を進めやすくなる • ログインして利用してもらうことが大事 •決済アプリはログイン必須 ( 1 08 ( 0 ) ( 81 22 1 087 .7. .
サービスごとにパスワードを覚える • サービスごとにIDとパスワード覚える ことはユーザーの負担に • パスワードを使い回すとリスト型 攻撃の標的になりやすい 0. ( 2 0 2 11 )0. ) 8
ID連携でサービス間を連携させる ( 1 08 ( 0 ) ( 81 22 1 08 . . 9.
Yahoo! ID連携 • Yahoo! JAPAN IDを使ってヤフーの アプリや他社が提供するサービスに ログインする仕組み • 業界標準仕様である OpenID Connectに準拠 0. ( 2 0 2 11 )0. ) 8
PayPayにYahoo! ID連携を導入 0. ( 2 0 2 11 )0. ) 8
ID連携を使わない場合 0. ( 2 0 2 11 )0. ) 8
ID連携を使う場合 ※携帯電話番号入力後SMS認証を行う 0. ( 2 0 2 11 )0. ) 8
ID連携を入れることで • 普段利用しているYahoo! JAPAN IDで ログインできる • Yahoo! JAPAN IDに紐づく属性情報が 連携可能になる • 携帯電話番号、Yahoo!ウォレットの情報 • 別途ID・パスワードを設定する必要がない (4 1 08 ( 044 ) (4 4 814 22 1 08 . . .
認証と認可 • 認証(Authentication) 相手が誰であるか確認すること • 認可(Authorization) 何らかの権限を与えること ( 5 1 08 ( 0 ) 5 ( 5 81 22 1 08 . . .
OAuth2.0 • OAuth 2.0は認可の仕様 • どのAPIにアクセスし情報を取得して よいかをユーザーの同意に基づいて コントロール ( 61 08 ( 0 ) ( 6 6 81 22 1 08 . .6 .
OpenID Connectとは • OAuth 2.0を拡張した仕様 • 認証と認可を兼ね備える • 属性情報取得の仕様も定義 • JSON Web Tokenが認証を担う ( 1 08 ( 0 ) ( 81 22 1 087 .7. .
0. ( 2 0 2 11 )0. ) 8
RP User-Agent (End-User) 0. ( 2 0 2 11 )0. ) 8 UserInfo IdP
RP Relying Party 信頼関係にあるサービス UserInfo ユーザーの属性情報を 返却するWeb API User-Agent (End-User) 0. ( 2 0 2 11 )0. ) 8 ID Provider ユーザーのIDを 管理するサービス IdP 20
0. ( 2 0 2 11 )0. ) 8
RP(PayPay) 1. AuthN/AuthZ Request UserInfo API ログインボタンを押す 認証・認可の処理へ遷移 User-Agent (End-User) 0. ( 2 0 2 11 )0. ) 8 IdP(ヤフー)
Yahoo! JAPAN IDで 新規登録を選択 0. ( 2 0 2 11 )0. ) 8
RP(PayPay) UserInfo User-Agentによって リダイレクト 1. AuthN/AuthZ Request 2. AuthZ Request(Redirect) User-Agent (End-User) 0. ( 2 0 2 11 )0. ) 8 IdP(ヤフー) 24
RP(PayPay) 1. AuthN/AuthZ Request UserInfo IdPはID・パスワードを用いて ユーザーを認証・同意を取得 2. AuthZ Request(Redirect) User-Agent (End-User) 0. ( 2 0 2 11 )0. ) 8 3. Login/Consent IdP(ヤフー) 25
ログインする 0. ( 2 0 2 11 )0. ) 8
RP(PayPay) UserInfo ユーザーが同意した認可情報が ひもづくAuthZ Codeを リダイレクトで返却 1. AuthN/AuthZ Request 4. AuthZ Code(Redirect) 2. AuthZ Request(Redirect) User-Agent (End-User) 0. ( 2 0 2 11 )0. ) 8 3. Login/Consent IdP(ヤフー) 27
RP(PayPay) 1. AuthN/AuthZ Request UserInfo Authz Codeと 事前にRPへ発行している Client IDとSecretを使って Tokenをリクエスト 5. T oke nR equ est 4. AuthZ Code(Redirect) 2. AuthZ Request(Redirect) User-Agent (End-User) 0. ( 2 0 2 11 )0. ) 8 3. Login/Consent IdP(ヤフー) 28
RP(PayPay) UserInfo Web APIアクセスのためのAccess Token それを更新するためのRefresh Tokenを取得 1. AuthN/AuthZ Request 6. A cce ss/ 5. T Re fre oke sh/ nR ID equ Tok est en 4. AuthZ Code(Redirect) 2. AuthZ Request(Redirect) IdPが認証したユーザー認証情報が 含まれるID Tokenを取得 User-Agent (End-User) 0. ( 2 0 2 11 )0. ) 8 3. Login/Consent IdP(ヤフー) 29
7. Verify ID Token RP(PayPay) UserInfo IdPが認証したユーザーの認証結果を ID Tokenを用いて検証する 1. AuthN/AuthZ Request 6. A cce ss/ 5. T Re fre oke sh/ nR ID equ Tok est en 4. AuthZ Code(Redirect) 2. AuthZ Request(Redirect) User-Agent (End-User) 0. ( 2 0 2 11 )0. ) 8 3. Login/Consent IdP(ヤフー) 30
7. Verify ID Token RP(PayPay) 8. Access Tokenを用いて属性情報取得 UserInfo 9. ユーザーが認可した情報を返す 1. AuthN/AuthZ Request 6. A cce ss/ 5. T Re fre oke sh/ nR ID equ Tok est en 4. AuthZ Code(Redirect) 2. AuthZ Request(Redirect) User-Agent (End-User) 0. ( 2 0 2 11 )0. ) 8 3. Login/Consent IdP(ヤフー) 31
ID Tokenとは • ユーザー認証情報を含む改ざん検知用の 署名付きToken • JSON Web Tokenフォーマット • IdPが認証したユーザーの認証情報を含め RPが検証しRP側のセッション管理に用いる • IdPがRPのために誰を認証したかを示すトークン 0. ( 2 0 2 11 )0. ) 8
画面遷移 ※携帯電話番号入力後SMS認証を行う 0. ( 2 0 2 11 )0. ) 8
ヤフーのIDを専門に担う部門 • Yahoo! JAPAN IDに関わる開発運用を 専門で担当する部門が存在 • 4587万ログインユーザー*を 支えるIDサービスを提供 • ID登録、認証、ID連携、属性管理、通知 • 生体認証、パスワードレスへの取り組み ) 201 ) 1 4) 2 4 (33 201 8 8 . *2018年度第2四半期事業指標 推移表
まとめ • PayPayを例にID連携の仕組みを紹介 • 個別のID・パスワードを覚えることが不要 • 属性情報の連携が可能に • ヤフーのIDサービスを一貫して提供する 専門の部門が存在 )5 201 ) 155 )5 5 25 (33 201 8 8 .