メインコンテンツまでスキップ

Injection API

Injection API は、ネイティブアプリの端末アプリケーションから呼び出すことを想定しています。

警告

これ以外のソーシャルPLUS Web API はサーバーサイドで利用することを想定され、秘匿情報(API Key)を必要とします。Web API は端末アプリケーションから利用しないでください。

詳しくは、ネイティブアプリ連携のシーケンス図 をご確認ください。

各ログインプロバイダのネイティブアプリ SDK を用いてログインを行い、ログインプロバイダが発行するアクセストークン(ユーザアクセストークン)を取得できます。取得したアクセストークンを端末アプリケーションより直接ソーシャルPLUS へ送信することで、そのアクセストークンを用いてソーシャルPLUS 側の認証処理を行います。

POST /{アカウントID}/{サービスID}/{ログインプロバイダ名}/inject

アクセストークンに対応するソーシャルアカウントに紐付いた「ソーシャルPLUS ID」が存在しない場合は、新しいソーシャルPLUS ID を採番します。

リクエストパラメータ​

パスに指定するパラメータは以下のとおりです。

パラメータ名取得方法
アカウントIDお客様ごとに発行する アカウントID
サービスIDソーシャルログインマネージャーで作成したサービスごとのサービスID
ログインプロバイダ名ログインプロバイダ名一覧 を参照してください

リクエストメソッドは POST で、リクエストボディは JSON 形式です。

LINE​

パラメータ名型必須説明
access_tokenstring○アクセストークン
refresh_tokenstringリフレッシュトークン
signing_keystring署名用証明書のキー名。X.509 公開鍵証明書の作成 で作成した証明書のキー名を指定します。指定しない場合は、有効期限が一番古いものが利用されます

Apple​

パラメータ名型必須説明
id_tokenstring○ID トークン
signing_keystring署名用証明書のキー名。X.509 公開鍵証明書の作成 で作成した証明書のキー名を指定します。指定しない場合は、有効期限が一番古いものが利用されます

Yahoo! JAPAN​

パラメータ名型必須説明
access_tokenstring○アクセストークン
refresh_tokenstringリフレッシュトークン
id_tokenstring○ID トークン
noncestringID トークン検証用の nonce 値
expires_innumberアクセストークンの有効期限
signing_keystring署名用証明書のキー名。X.509 公開鍵証明書の作成 で作成した証明書のキー名を指定します。指定しない場合は、有効期限が一番古いものが利用されます

Google​

パラメータ名型必須説明
codestring○認可コード
refresh_tokenstringリフレッシュトークン
signing_keystring署名用証明書のキー名。X.509 公開鍵証明書の作成 で作成した証明書のキー名を指定します。指定しない場合は、有効期限が一番古いものが利用されます

Facebook​

パラメータ名型必須説明
access_tokenstring○アクセストークン
refresh_tokenstringリフレッシュトークン
signing_keystring署名用証明書のキー名。X.509 公開鍵証明書の作成 で作成した証明書のキー名を指定します。指定しない場合は、有効期限が一番古いものが利用されます

X​

パラメータ名型必須説明
access_tokenstring○アクセストークン
access_token_secretstring○アクセスシークレット
signing_keystring署名用証明書のキー名。X.509 公開鍵証明書の作成 で作成した証明書のキー名を指定します。指定しない場合は、有効期限が一番古いものが利用されます

レスポンス​

基本的に JSON 形式で返します。

ソーシャルPLUS 側の認証処理が正しく完了した場合は、公開鍵証明書で署名された JWT(JSON Web Token)を応答します。

「アカウントID」、「サービスID」、または「ログインプロバイダ名」に誤りがあった場合は、HTTP ステータス 404 Not Found を応答し、JSON 形式のデータをレスポンスボディとして返しません。

アクセストークンの投入に成功した場合​

認証に成功した場合は、ステータスコード 200 OK とともに、以下の JSON 形式のレスポンスボディを返します。

パラメータ名型Nullable説明
statusstringリクエストが成功したかどうか
tokenstring認証に関する情報を含む JWT
レスポンス例
{
"status": "ok",
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJmZ..."
}

JWT ヘッダ​

JWT ヘッダは固定です。

JWT ヘッダ
{
"typ": "JWT",
"alg": "RS256"
}

JWT クレームセット​

デコード済みの JWT クレームセット(ペイロード)は以下の通りです。

キー型桁数説明
issstring14"feedforce Inc." 固定
audstring65アカウントID とサービスID を / で結合した値。例)example/demosite
substring40ソーシャルPLUS ID
iatnumberJWT の発行時刻。UNIX time 値
expnumberJWT の有効期限。UNIX time 値。発行日時より 600 秒を有効期限として設定します
socpobjectソーシャルPLUS 固有データ

キー socp には以下のデータを含みます。

キー型桁数説明
tokenstring40ワンタイムトークン
JWT クレームセット(ペイロード)例
{
"iss": "feedforce Inc.",
"aud": "ff/devapp",
"sub": "1ff47f96fb3b859730e41fac76ad3e8a809d9c56",
"iat": 1441351412,
"exp": 1441352012,
"socp": { "token": "cbd39ba566454efd4a8fd98e5def28aa5bdf0434" }
}

エラー発生時​

エラーが発生した場合、ステータスコード 400 Bad Request とともに、以下の JSON 形式のレスポンスボディを返します。

エラー時 レスポンス例
{
"status": "failed",
"message": "Authorization failed."
}

発生するエラーは以下の通りです。

statusmessage説明
failedAuthorization failed.アクセストークンが正しくないか、他のユーザに紐付いたアクセストークンです
failedSpecified signing key not found.指定された名前の証明書が存在しません

実行サンプル​

curl -L -X POST https://api.socialplus.jp/example/demosite/line/inject \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'Accept: application/json' \
--data-raw '{
"access_token": "ZXJYJy0pWoKQPwD70dUvOL2cBs..."
}'