Hybrid Onboardingとは何か〜省ステップのユーザ登録と安全なユーザ認証の実現〜<br />KousukeEbihara<br /> &lt;ebihara@tejimaya.com&gt;<br />
 本日は世界中で大注目を浴びている新技術、「Hybrid Onboarding」について解説します。<br /> 今更聞けない Hybrid Onboardingのキホンから、技術的な基盤、OpenPNEではどうするかということについてお話しし...
Hybrid Onboardingとは<br />Google 先生に聞いてみた (2009/11/09 現在)<br />!?<br />
Hybrid Onboardingとは<br />Google が 2009/11/03 に発表したユーザ登録・認証の仕様http://googlecode.blogspot.com/2009/11/hybrid-onboarding.html...
Hybrid Onboardingを使うとどうなるか<br />ユーザの登録率を改善することができる<br />登録のために必要なプロセスが減る<br />登録率を 90 % まで上昇させることができたらしい<br />メールアドレスの存在チェ...
Hybrid Onboardingを体感してみる<br />OpenPNE3 で実現してみようと頑張ったけど 5 時間近くOAuthの署名周りでハマってしまった<br />普通にライブラリ経由で署名付きのリクエストをしているだけなのだが……<b...
Hybrid Onboardingを体感してみる<br />ということで……<br />http://www.plaxo.com/signinで試してみてください(まずは「Google アカウントでサインイン」を選んで登録してみよう!)<br />
Hybrid Onboardingを体感してみる<br />ということで……<br />http://www.plaxo.com/signinで試してみてください(まずは「Google アカウントでサインイン」を選んで登録してみよう!)<br />
Hybrid Onboardingを体感してみる<br />tejimaya.net (Google Apps) の Gmail を使っているユーザ専用の SNS を作った<br />OpenPNE 3.1.5-dev ベース<br />ログイ...
Hybrid Onboardingを体感してみる<br />メニューから Connection を選択<br />
Hybrid Onboardingを体感してみる<br />なにがどうなったか<br />ボタンをクリックするだけでログインできるようになった<br />OpenIDのおかげ<br />メールアドレスを入力したり確認メールを受け取らなくても、サ...
OpenIDについて復習<br />一つのサイトのOpenIDを使って、他サイトの認証をおこなうことができる技術<br />OpenID 2.0 から Discovery がサポートされるなどOpenIDを意識せずに利用できるようになっている<...
OAuthについて復習<br />認証が必要とされるサイトの API を外部アプリケーションから安全に利用するための技術<br />「ある利用者」から許可された外部アプリケーションが、アクセス用のトークンを使って API にアクセスする<br ...
OAuthについて復習<br />http://www.openpne.jp/wp-content/uploads/2009/09/oauth_flow_ja.png<br />
Portable Contacts API<br />http://code.google.com/intl/ja/apis/contacts/<br />連絡先リストのためのオープンな仕様<br />Gmail の連絡先リストはこの API ...
Hybrid Onboardingのフロー<br />ユーザはOpenIDと Contacts API を提供するメールプロバイダに対してOpenID経由でログインするためのボタンをクリック<br />OpenIDプロトコル経由でメールアドレス...
OpenIDOAuth Extension<br />http://step2.googlecode.com/svn/spec/openid_oauth_extension/latest/openid_oauth_extension.html<...
OpenIDOAuth Extension<br />
OpenIDOAuth Extension<br />OpenIDの認証画面で許可を得た場合、OAuthでの認可と同等の権限を得たと見なし、OP から RP に戻ってきたときにいきなり認可済みのリクエストトークンを渡す<br />OP から渡さ...
OpenIDOAuth Extension<br />不要<br />OpenID認証で代替<br />
OpenIDOAuth Extension<br />対応方法 (OpenID認証時)<br />http://specs.openid.net/extensions/oauth/1.0というネームスペースを指定する<br />openid.o...
OpenIDOAuth Extension<br />対応方法 (OpenID認証後)<br />openid.oauth.request_tokenとコンシューマキー、コンシューマシークレットを元に署名を生成し、アクセストークン取得用URLに...
Hybrid OnboardingとOpenPNE<br />OpenPNEで作られた複数の SNS 間の連携が実現しやすくなる<br />これだけでもかなりのメリットでは?<br />最低限の対応はすぐにできそう<br />OpenIDもOA...
Upcoming SlideShare
Loading in...5
×

Hybrid Onboarding

1,853

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,853
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Hybrid Onboarding

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

    Clipping is a handy way to collect important slides you want to go back to later.

×