サバフェス  2016  
Yahoo!  ID連携のご紹介  
〜~  OpenID  Connect⼊入⾨門  〜~
2016/3/17  
ヤフー株式会社  ID連携⿊黒帯  倉林林雅
倉林林  雅(kura)  
ヤフー株式会社  ID連携⿊黒帯  /  エンジニア  
OpenID  ファウンデーション・ジャパン

                                    エヴァンジェリスト  
ID厨  
@kura_̲lab
アジェンダ
1. Yahoo!  ID連携  
2. OpenID  Connectについて  
3. OpenID  Connectの流流れ  
4. IoTデバイスとYahoo!  JAPANのAPI連携⽅方法  
5. まとめ
健康情報(ユーザー情報)を  
管理理するためには「ID」が必要
Yahoo!  JAPANの  
IDと認証とユーザー情報を  
活⽤用しよう!
Yahoo!  ID連携
ID連携とは
異異なる組織間でユーザのID(アイデ
ンティティ)データを連携し、サー
ビスの質の向上を図る仕組みのこと
ID連携トラストフレームワーク(METI/経済産業省省)  
www.meti.go.jp/policy/it_̲policy/id_̲renkei/
7
2012年年11⽉月  
⼤大⼿手IdPとしては  
世界でも早期のOpenID  Connect対応  
YConnectリリース
2012年年-‐‑‒現在  
各種SDK提供
GitHubでソースコードも公開
https://github.com/yahoojapan/yconnect-‐‑‒php-‐‑‒sdk
2013年年-‐‑‒現在  
Yahoo!  JAPAN  
公式アプリへの導⼊入開始
2013年年-‐‑‒現在  
Yahoo!  JAPAN  
公式アプリへの導⼊入開始
スマホファースト  
PCセカンド
Yahoo!  
+  
ID連携
Yahoo!  ID連携
2014年年9⽉月  
「Yahoo!  ID連携」を商標登録
http://marketing.yahoo.co.jp/service/yidconnect/
Yahoo!  ID連携とは?
Yahoo!  ID連携  
利利⽤用実績
Yahoo!  JAPAN  アプリ
iOS・Androidの公式アプリもYahoo!  ID連携を利利⽤用
Yahoo!  ID連携
契約なしで  
Yahoo!  JAPAN  ID
があれば  
無料料で誰でも

利利⽤用できる!
認証機能  
より簡単なAPIへの
アクセス  
属性情報取得機能
Yahoo!  JAPAN  ID利利⽤用率率率
⽇日本国内の

ソーシャルログイン率率率
https://www.feedforce.jp/release/4979/
※2015年年5⽉月フィードフォース調査結果より
56.5%
⽉月間アクティブユーザーID数
http://ir.yahoo.co.jp/jp/archives/present/
⽉月1回以上のログイン  
Yahoo!  JAPAN  ID
3,000万以上
T-‐‑‒SITE  
My  SoftBank  
Ameba  
セブンネット

  ショッピング
契約パートナー200社以上
OpenID  Connectについて
OpenID  Connect
2014年年2⽉月27⽇日ローンチ  
OpenID  ConnectはOAuth  2.0を

                        拡張したプロトコル  
OpenIDって名前がついてますが、

                  OpenID  2.0とは異異なります
OpenIDは認証
基本的にOpenIDは認証の技術  
(OpenID  AXで属性を取得できますが)
OAuthは認可
OAuth  1.0・OAuth  2.0は認可の技術  
ユーザーのリソースアクセス(Web  API)が⽬目的
認証も認可もやりたい場合は

      OpenIDもOAuthも実装しなくてはいけない  
そこで実装しやすいOAuth  2.0を拡張して

                              認証機能を追加
認証も認可も
認可認証
OpenID  Connect
さらに属性取得機能も
よく利利⽤用されるユーザーの属性情報APIの

                        仕様も定義されている  
ユーザー識識別⼦子・⽒氏名・性別・⽣生年年・

                  住所・メールアドレスなど
認可認証
OpenID  Connect
属性取得
OpenID  Connect  
ID連携のトレンド!
http://openid.net/connect/
OpenID  Connectの流流れ
OpenID  Connect  認証フロー
Authorization  Code  Flow  
サーバーサイドで認証  
Implicit  Flow  
クライアントサイドで認証  
Hybrid  Flow  
サーバーサイド・クライアントサイドの両⽅方で認証
基本のフローをみてみよう
基本となる「Authorization  Code  Flow」を

                                                                                          まずは覚えよう  
OAuth  2.0のフローと⽐比較しながら

OpenID  Connectで追加された処理理と

                          ポイントを確認しよう
OpenID  Connect  
Authorization  Code  Flow
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Authorization Code (Redirect)
Login / Consent
Token Request
Access Token / Refresh Token / ID Token
Resource Access
Resource
Start OpenID Connect
サービス導⼊入例例
GREEログイン Y!ログイン
Yahoo!  ID連携  
同意画⾯面
GREE登録
倉林雅
倉林
雅
email@example.com
GREEログイン Y!ログイン
Yahoo!  ID連携  
同意画⾯面
GREE登録
倉林雅
倉林
雅
RPのログインボタン  
OpenID  Connect開始
email@example.com
IdPRPEnd-User
UserInfo
Endpoint
Start OpenID Connect
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Start OpenID Connect
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Login / Consent
Start OpenID Connect
GREEログイン Y!ログイン
Yahoo!  ID連携  
同意画⾯面 GREE登録
倉林雅
倉林
雅
IdPのログイン

(認証機能)
email@example.com
GREEログイン Y!ログイン
Yahoo!  ID連携  
同意画⾯面 GREE登録
倉林雅
倉林
雅
アプリへの  
アクセス確認
属性・API  
利利⽤用内容
email@example.com
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Login / Consent
Start OpenID Connect
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Authorization Code (Redirect)
Login / Consent
Start OpenID Connect
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Authorization Code (Redirect)
Login / Consent
Token Request
Access Token / Refresh Token / ID Token
Start OpenID Connect
IdPRPEnd-User
Authorization Request (Redirect)
UserInfo
Endpoint
Authorization Code (Redirect)
Login / Consent
Token Request
Access Token / Refresh Token / ID Token
Resource Access
Resource
Start OpenID Connect
GREEログイン Y!ログイン
Yahoo!  ID連携  
同意画⾯面
GREE登録
倉林雅
倉林
雅⽒氏名・⽣生年年・性別

のプリセット

(属性情報取得機能)
email@example.com
IoTデバイスと  
Yahoo!  JAPANのAPI連携⽅方法  
〜~認証付き〜~
Web or App
IoT Device
YConnect
Yahoo’s APIIDCF Cloud
ユーザーのログインが  
必要なためWebアプリ  
またはネイティブアプリを⽤用意
Web or App
IoT Device
YConnect
Yahoo’s API
Authorizationリクエスト
IDCF Cloud
Web or App
IoT Device
YConnect
Yahoo’s API
Authorizationリクエスト
ログイン・同意
IDCF Cloud
Web or App
IoT Device
YConnect
Yahoo’s API
Authorizationリクエスト
ログイン・同意
Authorization  Code
IDCF Cloud
Web or App
IoT Device
YConnect
Yahoo’s API
Authorizationリクエスト
ログイン・同意
Authorization  Code
IDCF Cloud
Authorization  Code
Web or App
IoT Device
YConnect
Yahoo’s API
Authorizationリクエスト
ログイン・同意
Authorization  Code
IDCF Cloud
Authorization  Code
Web or App
IoT Device
YConnect
Yahoo’s API
Authorizationリクエスト
ログイン・同意
Authorization  Code
IDCF Cloud
Authorization  Code
Access  Token  
  Refresh  Token
Web or App
IoT Device
YConnect
Yahoo’s API
Authorizationリクエスト
ログイン・同意
Authorization  Code
IDCF Cloud
Authorization  Code
Access  Token  
  Refresh  Token
Access  Token  
  Refresh  Token
Web or App
IoT Device
YConnect
Yahoo’s API
Authorizationリクエスト
ログイン・同意
Authorization  Code
IDCF Cloud
Authorization  Code
Access  Token  
  Refresh  Token
Access  Token  
  Refresh  Token
Data
Web or App
IoT Device
YConnect
Yahoo’s API
Authorizationリクエスト
ログイン・同意
Authorization  Code
IDCF Cloud
Authorization  Code
Access  Token  
  Refresh  Token
Access  Token
Access  Token  
  Refresh  Token
Data
センサーデータをもとに  
Yahoo!  JAPANのAPIにリクエスト
まとめ
まとめ
1. Yahoo!  ID連携  
Yahoo!  JAPAN  IDと連携するためのAPI  
2. OpenID  Connectについて  
OAuthともOpenIDとも違うID連携のトレンド  
3. OpenID  Connectの流流れ  
Access  Tokenでユーザーの属性情報を取得可能  
4. IoTデバイスとYahoo!  JAPANのAPI連携⽅方法  
サーバーサイドでRefresh  Tokenを保存しセンサー情報をトリガーに
APIをリクエスト
http://developer.yahoo.co.jp/yconnect/
Yahoo!  ID連携については
ぜひYahoo!  ID連携と  
Yahoo!  JAPANのAPIを  
ご利利⽤用ください
ご清聴ありがとう  
ございました

サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜