ネイティブアプリ連携
スマートフォンのネイティブアプリを提供している場合、ソーシャルログインの実装は以下の2通りとなります。 ここでは後者を選択した場合の、ソーシャルPLUS との連携方法を記載します。
- WebView を利用してウェブアプリケーションとして実装する
- ネイティブアプリ SDK を利用して実装する
前者は通常のウェブサイト(ウェブアプリケーション)としてソーシャルログインを組み込むことで利用できます。
後者の場合、SDK を利用して行ったソーシャルログインは、そのままではソーシャルPLUS 側のデータと同期が行われません。ウェブサイト(あるいはウェブアプリケーション)側でソーシャルPLUS を利用している場合に、ネイティブアプリ側のソーシャルログインとウェブサイト側のソーシャルログインを関連付けるために Injection API による追加実装が必要 となります。
対応ログインプロバイダ
ソーシャルPLUS とのネイティブアプリ連携に対応しているソーシャルログインプロバイダは以下です。
- LINE
- Apple
- Yahoo! JAPAN
各ログインプロバイダが提供している SDK については、ログインプロバイダ側の開発者ページなどから入手可能です。SDK の利用方法や最新情報は各ログインプロバイダの開発者ページからご確認ください。
処理の流れ
シーケンス
ソーシャルPLUS との連携には Injection API を利用します。
以下にネイティブアプリ連携時の認証フローを記載します。
実装概要
Injection API を利用した認証を実装する場合、おおまかな処理の流れは以下となります。
- 端末アプリケーションより各ログインプロバイダの SDK または OS 搭載のソーシャルログイン API を呼び出し、各ログインプロバイダの「アクセストークン」(ユーザアクセストークン)を取得
- 手順 1. で取得した「アクセストークン」を、端末アプリケーションよりソーシャルPLUS に投入(Injection API を利用)
- 必要に応じ、手順 2. の API レスポンスの JWT の署名検証、およびデコード
- JWT に含まれる「ワンタイムトークン」を、端末アプリケーションからご利用サービス側サーバサイドに送信
- ご利用サービス側サーバサイドで受信した「ワンタイムトークン」をもとに、サイト側の既存のソーシャルPLUS 連携ログイン機能を呼び出し、ご利用サービス側のログイン処理を実施
- ログイン結果を端末アプリケーションに返し、端末アプリケーション側のログイン処理を実行
ご利用サービス側サーバーサイドで利用可能なソーシャルPLUS の Web API については以下の Web API リファレンスをご確認ください。
シーケンス図のなかで利用している API は以下です。
プロバイダ別公式アプリ連携表
スマートフォンまたはタブレット端末上に、各ログインプロバイダの公式アプリがインストールされ、かつアプリ上で既にログインしている状態のときに、そのログイン情報の連携(受け渡し)が可能な場合は「○」、可能でない場合は「×」としています。今後、各ログインプロバイダが提供する SDK のアップデートにより連携が可能となる場合があります。
iOS | ○ | ○ | × | × | ○ | × |
Android | ○ | - | ○ | ○ | ○ | ○ |
※2016 年 3 月 30 日現在。
次のアクション
Injection API を利用する前に「公開鍵証明書の作成」と一部のログインプロバイダの追加設定が必要です。
詳しくはそれぞれのドキュメントをご確認ください。