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