QQ アカウント連携

QQ アカウントを用いたユーザー作成・ログインは、開発者ポータル上でアプリケーションの設定を行うだけで簡単に実現できます。

QQ との連携設定

QQ アプリケーションの作成

まずは、QQ アプリケーションを作成し、QQ App ID を取得する必要があります。QQ App ID の取得方法については こちら を参照してください。

Kii アプリケーションの設定

次の手順に従い、開発者ポータルより QQ App ID の登録を行います。

  1. アプリケーションコンソール上で "Edit" ボタンをクリックします。

  2. "SOCIAL NETWORKS" をクリックします。

  3. "QQ" をクリックし QQ の設定画面を開きます。

  4. QQ App ID を設定します。

QQ よりアクセストークンを取得

アクセストークンの取得は自前で行う必要があります。QQ のアクセストークンを自前で取得する方法については こちら を参照してください。

QQ アカウントによるログイン

QQ アカウントを用いてログインを行う例を以下にあげます。{ACCESS_TOKEN_PROVIDED_BY_QQ}{OPENID_PROVIDED_BY_QQ} には、それぞれ取得した QQ のアクセストークンと OpenID を入れてください。

curl -v -X POST \
  -H "Authorization: Basic {BASE64_ENCODED_APPID_AND_APPKEY}" \
  -H "Content-Type: application/vnd.kii.AuthTokenQQRequest+json" \
  "https://api-jp.kii.com/api/apps/{APP_ID}/integration/qq" \
  -d '{
    "accessToken": "{ACCESS_TOKEN_PROVIDED_BY_QQ}",
    "openID": "{OPENID_PROVIDED_BY_QQ}"
  }'

ログインは Basic 認証 を使って行います。{BASE64_ENCODED_APPID_AND_APPKEY} には AppID と任意の値をコロン(:) で連結した文字列を Base64 エンコードしたものを入れてください。

QQ アカウントの認証が完了すると、Kii Cloud はこのユーザーが新規であるか確認をします。新規ユーザーの場合、自動的にこのユーザーの Kii アカウントを作成します。

ログインが完了すると Kii Cloud は次のようにユーザー用のアクセストークンを返します。この際、ユーザーの User ID やトークンの有効期間(UNIX 時間 ミリ秒)も返します。

< HTTP/1.1 200 OK
< Content-Type: application/json;charset=UTF-8
<
{
  "id" : "{USER_ID}",
  "access_token" : "{ACCESS_TOKEN}",
  "expires_in" : 9223372036854775,
  "token_type" : "bearer",
  "new_user_created": true
}

ログイン処理時に新たに Kii ユーザーを作成した場合は new_user_created キーが true に設定されます。

Kii アカウントと QQ アカウントのリンク

すでに存在する Kii Cloud ユーザーを QQ アカウントとリンクできます。リンクを行うと、このユーザーは QQ アカウント認証経由で Kii Cloud にログインできるようになります。

以下に、アカウントのリンク処理を行う例を示します。

curl -v -X POST \
  -H "Authorization: Bearer {ACCESS_TOKEN}" \
  -H "Content-Type: application/vnd.kii.LinkQQRequest+json" \
  "https://api-jp.kii.com/api/apps/{APP_ID}/users/me/qq/link" \
  -d '{
    "accessToken": "{ACCESS_TOKEN_PROVIDED_BY_QQ}",
    "openID": "{OPENID_PROVIDED_BY_QQ}"
  }'

アカウントのリンクに成功すると Kii Cloud は次のような 204 応答を返します。

< HTTP/1.1 204 No Content

Kii アカウントと QQ アカウントのリンク解除

Kii Cloud のユーザーアカウントと QQ アカウントのリンクを解除する例を以下に示します。

curl -v -X POST \
  -H "Authorization: Bearer {ACCESS_TOKEN}" \
  "https://api-jp.kii.com/api/apps/{APP_ID}/users/me/qq/unlink" \
  -d ""

リンク解除に成功すると Kii Cloud は次のような 204 応答を返します。

< HTTP/1.1 204 No Content