---
title: ID連携を用いたサービス間連携と QR決済サービスPayPay #devBoostA
tags:  #devboosta  
author: [Yahoo!デベロッパーネットワーク](https://www.docswell.com/user/ydnjp)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/W4EZ2852J3.jpg?width=480
description: Developers Boost A-5 の資料です
published: December 17, 18
canonical: https://www.docswell.com/s/ydnjp/ZRJ34K-2018-12-17-134302
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/W4EZ2852J3.jpg)

ID連携を用いたサービス間連携と
QR決済サービスPayPay
2018年12月15日
ヤフー株式会社 本間洋光
0.
(
2
0 2
11 )0.
)
8


# Page. 2

![Page Image](https://bcdn.docswell.com/page/KY76VPV6EV.jpg)

自己紹介(本間
洋光)
• ヤフー株式会社所属
• 新卒で入社し現在3年目
• Yahoo! JAPAN IDに関わる
開発・運用を担当する部署に所属
0.
(
2
0 2
11 )0.
)
8


# Page. 3

![Page Image](https://bcdn.docswell.com/page/5G75DKD574.jpg)

お話すること
• ID連携の仕組みとヤフーにおける
活用事例
• ヤフーのIDを担う部門の役割を紹介
(
1 08 (
0
)
3(
81 3
22
1 08
. . .


# Page. 4

![Page Image](https://bcdn.docswell.com/page/V9J28W8GJR.jpg)

サービス数
100 以 上
月間4587万ログインユーザー
0.
(
2
0 2
11 )0.
)
8
出典: 2018年度第2四半期事業指標 推移表


# Page. 5

![Page Image](https://bcdn.docswell.com/page/5DEY6L6G7M.jpg)

スマホ決済アプリPayPayを10月に提供開始
( 5 1 08 (
0
) 5
( 5
81
22
1 08
. . .


# Page. 6

![Page Image](https://bcdn.docswell.com/page/2VJNZ4Z8J8.jpg)

PayPayとは
• ソフトバンクとヤフーが出資し
設立した会社が提供する決済サービス
• スマホひとつで支払いが完結
(
61 08 (
0
)
( 6
6 81
22
1 08
. .6 .


# Page. 7

![Page Image](https://bcdn.docswell.com/page/GYE9ZQZXE3.jpg)

多くのサービスを個人に最適に届けるため
• 利用者を識別してデータを保持することで
サービスの最適化を進めやすくなる
• ログインして利用してもらうことが大事
•決済アプリはログイン必須
(
1 08 (
0
)
(
81
22
1 087
.7. .


# Page. 8

![Page Image](https://bcdn.docswell.com/page/5GE81G19JD.jpg)

サービスごとにパスワードを覚える
• サービスごとにIDとパスワード覚える
ことはユーザーの負担に
• パスワードを使い回すとリスト型
攻撃の標的になりやすい
0.
(
2
0 2
11 )0.
)
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/MLELQGQMJR.jpg)

ID連携でサービス間を連携させる
(
1 08 (
0
)
(
81
22
1 08
. . 9.


# Page. 10

![Page Image](https://bcdn.docswell.com/page/54JM1Q167W.jpg)

Yahoo! ID連携
• Yahoo! JAPAN IDを使ってヤフーの
アプリや他社が提供するサービスに
ログインする仕組み
• 業界標準仕様である
OpenID Connectに準拠
0.
(
2
0 2
11 )0.
)
8


# Page. 11

![Page Image](https://bcdn.docswell.com/page/ZPJRL8LNJ9.jpg)

PayPayにYahoo! ID連携を導入
0.
(
2
0 2
11 )0.
)
8


# Page. 12

![Page Image](https://bcdn.docswell.com/page/NPEXW8W8JX.jpg)

ID連携を使わない場合
0.
(
2
0 2
11 )0.
)
8


# Page. 13

![Page Image](https://bcdn.docswell.com/page/63EKVKVLJD.jpg)

ID連携を使う場合
※携帯電話番号入力後SMS認証を行う
0.
(
2
0 2
11 )0.
)
8


# Page. 14

![Page Image](https://bcdn.docswell.com/page/4L73MZM6E5.jpg)

ID連携を入れることで
• 普段利用しているYahoo! JAPAN IDで
ログインできる
• Yahoo! JAPAN IDに紐づく属性情報が
連携可能になる
• 携帯電話番号、Yahoo!ウォレットの情報
• 別途ID・パスワードを設定する必要がない
(4
1 08 (
044 )
(4
4 814
22
1 08
. . .


# Page. 15

![Page Image](https://bcdn.docswell.com/page/V87D6R6MJG.jpg)

認証と認可
• 認証（Authentication）
相手が誰であるか確認すること
• 認可（Authorization）
何らかの権限を与えること
( 5 1 08 (
0
) 5
( 5
81
22
1 08
. . .


# Page. 16

![Page Image](https://bcdn.docswell.com/page/4VJPYWYQJ8.jpg)

OAuth2.0
• OAuth 2.0は認可の仕様
• どのAPIにアクセスし情報を取得して
よいかをユーザーの同意に基づいて
コントロール
(
61 08 (
0
)
( 6
6 81
22
1 08
. .6 .


# Page. 17

![Page Image](https://bcdn.docswell.com/page/L2EVG8GPEQ.jpg)

OpenID Connectとは
• OAuth 2.0を拡張した仕様
• 認証と認可を兼ね備える
• 属性情報取得の仕様も定義
• JSON Web Tokenが認証を担う
(
1 08 (
0
)
(
81
22
1 087
.7. .


# Page. 18

![Page Image](https://bcdn.docswell.com/page/Z57G858Q7L.jpg)

0.
(
2
0 2
11 )0.
)
8


# Page. 19

![Page Image](https://bcdn.docswell.com/page/V4EQ9Z9WEP.jpg)

RP
User-Agent
（End-User）
0.
(
2
0 2
11 )0.
)
8
UserInfo
IdP


# Page. 20

![Page Image](https://bcdn.docswell.com/page/DKJ4X3X1J1.jpg)

RP
Relying Party
信頼関係にあるサービス
UserInfo
ユーザーの属性情報を
返却するWeb API
User-Agent
（End-User）
0.
(
2
0 2
11 )0.
)
8
ID Provider
ユーザーのIDを
管理するサービス
IdP
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/PLE1N1N5JG.jpg)

0.
(
2
0 2
11 )0.
)
8


# Page. 22

![Page Image](https://bcdn.docswell.com/page/8GEW484W72.jpg)

RP(PayPay)
1. AuthN/AuthZ
Request
UserInfo API
ログインボタンを押す
認証・認可の処理へ遷移
User-Agent
（End-User）
0.
(
2
0 2
11 )0.
)
8
IdP(ヤフー)


# Page. 23

![Page Image](https://bcdn.docswell.com/page/W47Z2822E3.jpg)

Yahoo! JAPAN IDで
新規登録を選択
0.
(
2
0 2
11 )0.
)
8


# Page. 24

![Page Image](https://bcdn.docswell.com/page/KYJ6VK667V.jpg)

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


# Page. 25

![Page Image](https://bcdn.docswell.com/page/5GJ5DP65J4.jpg)

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


# Page. 26

![Page Image](https://bcdn.docswell.com/page/V9E286MGER.jpg)

ログインする
0.
(
2
0 2
11 )0.
)
8


# Page. 27

![Page Image](https://bcdn.docswell.com/page/5D7Y69XGJM.jpg)

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


# Page. 28

![Page Image](https://bcdn.docswell.com/page/2VENZL18E8.jpg)

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


# Page. 29

![Page Image](https://bcdn.docswell.com/page/GY79Z45X73.jpg)

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


# Page. 30

![Page Image](https://bcdn.docswell.com/page/5G781QY9ED.jpg)

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


# Page. 31

![Page Image](https://bcdn.docswell.com/page/ML7LQX4MER.jpg)

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


# Page. 32

![Page Image](https://bcdn.docswell.com/page/54EM1LK6JW.jpg)

ID Tokenとは
• ユーザー認証情報を含む改ざん検知用の
署名付きToken
• JSON Web Tokenフォーマット
• IdPが認証したユーザーの認証情報を含め
RPが検証しRP側のセッション管理に用いる
• IdPがRPのために誰を認証したかを示すトークン
0.
(
2
0 2
11 )0.
)
8


# Page. 33

![Page Image](https://bcdn.docswell.com/page/ZPERLKXNE9.jpg)

画面遷移
※携帯電話番号入力後SMS認証を行う
0.
(
2
0 2
11 )0.
)
8


# Page. 34

![Page Image](https://bcdn.docswell.com/page/NP7XWL68EX.jpg)

ヤフーのIDを専門に担う部門
• Yahoo! JAPAN IDに関わる開発運用を
専門で担当する部門が存在
• 4587万ログインユーザー*を
支えるIDサービスを提供
• ID登録、認証、ID連携、属性管理、通知
• 生体認証、パスワードレスへの取り組み
)
201
)
1
4)
2 4 (33
201 8
8
.
*2018年度第2四半期事業指標 推移表


# Page. 35

![Page Image](https://bcdn.docswell.com/page/637KVL1LED.jpg)

まとめ
• PayPayを例にID連携の仕組みを紹介
• 個別のID・パスワードを覚えることが不要
• 属性情報の連携が可能に
• ヤフーのIDサービスを一貫して提供する
専門の部門が存在
)5
201
)
155
)5
5
25
(33
201 8
8
.


