hybrid onboarding
DESCRIPTION
TRANSCRIPT
本日は世界中で大注目を浴びている新技術、「 Hybrid Onboarding 」について解説します。
今更聞けない Hybrid Onboarding のキホンから、技術的な基盤、 OpenPNE ではどうするかということについてお話しします。
Hybrid Onboarding とは
Google 先生に聞いてみた (2009/11/09 現在 )
!?
Hybrid Onboarding とは Google が 2009/11/03 に発表したユー
ザ登録・認証の仕様http://googlecode.blogspot.com/2009/11/hybrid-onboarding.html
OpenID, OAuth, Portable Contacts API を組み合わせて活用することで実現される
Plaxo, Facebook, Yahoo! でも利用されている
Hybrid Onboarding を使うとどうなるか
ユーザの登録率を改善することができる 登録のために必要なプロセスが減る 登録率を 90 % まで上昇させることができたらしい
メールアドレスの存在チェックのための確認メールが不要になる
サイトの実装によっては登録後、最初にユーザを捜し回ってフレンド関係になる手間が省ける
OpenID など活用している技術の恩恵をそのまま受けられる(パスワード入力が不要になりセキュリティ上好ましくなるなど)
Hybrid Onboarding を体感してみる
OpenPNE3 で実現してみようと頑張ったけど 5 時間近く OAuth の署名周りでハマってしまった 普通にライブラリ経由で署名付きのリクエストをして
いるだけなのだが…… http://oauth.googlecode.com/svn/code/php/ の
ライブラリが更新止まってるのでバグ抱えてる可能性もあるかもしれない
もしくは Google の OAuth 周りでなにかあるのか
※ 素の OAuth とほとんど変わらないので特に難しいことはないはずなのだが
Hybrid Onboarding を体感してみる
ということで……http://www.plaxo.com/signinで試してみてください(まずは「 Google アカウントでサインイン」を選んで登録してみよう!)
Hybrid Onboarding を体感してみる
ということで……http://www.plaxo.com/signinで試してみてください(まずは「 Google アカウントでサインイン」を選んで登録してみよう!)
Hybrid Onboarding を体感してみる
メニューから Connection を選択
Hybrid Onboarding を体感してみる
なにがどうなったか ボタンをクリックするだけでログインできるように
なった OpenID のおかげ
メールアドレスを入力したり確認メールを受け取らなくても、サイトにメールアドレスが登録された
OpenID AX のおかげ メールアドレスに紐付いた連絡先リストが自動的に
サイトに登録された OAuth (OpenID OAuth Extension) と Portable
Contacts API のおかげ
OpenID について復習 一つのサイトの OpenID を使って、他サイトの認証を
おこなうことができる技術 OpenID 2.0 から Discovery がサポートされるなど
OpenID を意識せずに利用できるようになっている
拡張プロトコルを用いることで、認証技術に付随したサービスなどを提供することができる
属性交換 OpenID Simple Registration Extension (SREG) OpenID Attribute Exchange (AX)
OP の信頼度の明示 OpenID Provider Authentication Policy Extension
(PAPE)
OAuth について復習 認証が必要とされるサイトの API を外部アプリ
ケーションから安全に利用するための技術 「ある利用者」から許可された外部アプリケー
ションが、アクセス用のトークンを使って API にアクセスする 外部アプリケーションはあらかじめサイトに申請など
の手続きを経て登録する必要がある ID/ パスワードの情報を信頼できないアプリケーション
に預ける必要がない 外部アプリケーションが不正に情報を使用した場合にも、
トークンを無効にすることで被害の拡大を防ぐことができる
OAuth について復習
http://www.openpne.jp/wp-content/uploads/2009/09/oauth_flow_ja.png
Portable Contacts API
http://code.google.com/intl/ja/apis/contacts/
連絡先リストのためのオープンな仕様 Gmail の連絡先リストはこの API を介
して入手できる Open Social でも活用する方向で進んで
る? データを入手するためには OAuth によ
る認証が必要
Hybrid Onboarding のフロー ユーザは OpenID と Contacts API を提供するメールプロバイ
ダに対して OpenID 経由でログインするためのボタンをクリック
OpenID プロトコル経由でメールアドレスをサイトに伝達する 連絡先リストにアクセスするために OpenID の OAuth
Extension を使ってアクセストークンを入手し、 Portable Contacts API を叩く
OpenID や OAuth を活用して入手できた情報に基づいてユーザ登録
連絡先リストに基づいてソーシャルグラフの構築(もしくはソーシャルグラフの構築を促す情報の構築)
→OpenID と OAuth が同時に使えることによるメリットが大きい(登録後もアクティビティの共有などに活用できる)
OpenID OAuth Extension
http://step2.googlecode.com/svn/spec/openid_oauth_extension/latest/openid_oauth_extension.html
OpenID の認証と OAuth の認可のユーザ体験は似ている → OpenID の認証画面に OAuth の認可画面を統合
ユーザには OpenID の認証画面のなかで、サービスが OAuth を利用して特定の API にアクセスすることを承諾してもらう( Plaxo で Google の OpenID を使う場合、属性交換(メールアドレス)と OAuth 経由の API アクセス(連絡先リスト)の許可を同時に得る UI になっている)
OpenID OAuth Extension
OpenID OAuth Extension
OpenID の認証画面で許可を得た場合、 OAuth での認可と同等の権限を得たと見なし、 OP から RP に戻ってきたときにいきなり認可済みのリクエストトークンを渡す
OP から渡されたリクエストトークンからアクセストークンを入手し、 API にアクセスできるようになる
OpenID OAuth Extension
不要
OpenID 認証で代替
OpenID OAuth Extension
対応方法 (OpenID 認証時 ) http://specs.openid.net/extensions/oauth
/1.0 というネームスペースを指定する
openid.oauth.consumer にコンシューマーキーを指定する
openid.oauth.scope に OAuth でアクセスしたい API の識別子を指定
OpenID OAuth Extension
対応方法 (OpenID 認証後 ) openid.oauth. request_token とコン
シューマキー、コンシューマシークレットを元に署名を生成し、アクセストークン取得用URL にリクエスト
取得できたアクセストークンを使って API にアクセス
Hybrid Onboarding と OpenPNE
OpenPNE で作られた複数の SNS 間の連携が実現しやすくなる これだけでもかなりのメリットでは?
最低限の対応はすぐにできそう OpenID も OAuth も対応済み WebAPI の仕組みを使って連絡先リストの API を実装すればよい OAuth Extension はすごく簡単だった
Hybrid Onboarding を生かす機能を実装しないと面白くない フォロー アクティビティ
OpenID のログイン時に OpenID を入力させないようにしたりとか、フィッシング対策を今以上にやるとか、連携を使ってもらいやすくするための対応はもちろんやらなければいけない
対応可能な時期は……来年春頃かな……
ご静聴ありがとうございました