mixi Connect » mixi Graph API » mixi OpenID のマイミクシィ認証を People API で実装
mixi OpenID のマイミクシィ認証を People API で実装
mixi OpenID では、ログインしようとしているユーザがあるユーザと友人かどうかをRPに証明するマイミクシィ認証という機能を提供しています。
mixi Graph API の People API では、ユーザの友人情報を取得できます。
People API を利用して、 mixi OpenID のマイミクシィ認証と同等な機能を実装できます。
People API を用いた友人判定の実装例
People API を用いてあるユーザAさんの友人のみ利用可能なサービスがあると仮定し、ユーザBさんが利用しようとしたときの処理について説明します。
Step 1. ユーザAさんのプロフィール情報から、ユーザIDを取得
はじめに、ユーザAさんの mixi Graph API のユーザIDを取得する必要があります。
mixi OpenID のマイミクシィ認証で利用しているユーザAさんのユーザIDと mixi Graph API のユーザIDは異なります。
そのため、一度自らが認可したアクセストークンを用いて People API にアクセスし、mixi Graph APIのユーザIDを取得する必要があります。
People API で自らのプロフィール情報を取得するためのURIは以下のようになります。
GET https://api.mixi-platform.com/2/people/@me/@self
レスポンスからユーザAさんのユーザIDを取得できます。
Step 2. ユーザBさんの友人情報から、ユーザIDの一覧を取得
ユーザBさんがこのサービスを利用するとき、ユーザBさんの友人の情報を取得します。
People API で友人のプロフィール情報一覧を取得するためのURIは以下のようになります。
GET https://api.mixi-platform.com/2/people/@me/@friends
レスポンスからユーザBさんの友人のユーザID一覧を取得できます。
Step 3. ユーザAさんとユーザBさんが友人かどうかを判定
Step 2で取得したユーザBさんの友人のユーザID一覧に、Step 1で取得したユーザAさんのユーザIDが含まれていたら、ユーザAさんとユーザBさんは友人ということを表します。