アプリケーション開発

認証 API

initSigninPage()

このメソッドは、サインインページに必要な機能の準備を行います。サインインページ以外で使わないでください。

このメソッドは、Symphony へのアクセスに必要な情報の登録、そして、HTML にマークアップされたサインイン用のボタンまたはリンクをクリックした際に、自動的にサインイン処理を行うためのクリックリスナーをセットします。サインインページでは、必ずこのメソッドを呼び出してください。

サインインボタンまたはリンクは、以下のいずれかの方法で HTML にマークアップしてください。

button 要素
<button type="button" data-dsymphony="signin-btn-google">Googleアカウントでサインイン</button>
<button type="button" data-dsymphony="signin-btn-docomo">NTTドコモ dアカウントでサインイン</button>
input 要素
<input type="button" data-dsymphony="signin-btn-google" value="Googleアカウントでサインイン">
<input type="button" data-dsymphony="signin-btn-docomo" value="NTTドコモ dアカウントでサインイン">
a 要素
<a href="#" data-dsymphony="signin-btn-google">Googleアカウントでサインイン</a>
<a href="#" data-dsymphony="signin-btn-docomo">NTTドコモ dアカウントでサインイン</a>

button, input, a 要素のいずれのボタンも、上記の通り、data-dsymphony 属性をマークアップしてください。この属性のマークアップがないと、サインインボタンとして認識されませんので、注意してください。

このメソッドは、以下のプロパティを持ったオブジェクトを引数に取ります。

パラメータ
プロパティ名 必須 説明
clientId String 必須 事務局から払い出されたダッシュボードのクライアント ID。
topUrl String 必須 ダッシュボードのサインイン後のトップページの URL。https:// から指定します。サインインが成功すると、ここに指定された URL にリダイレクトします。
signinUrl String 任意 サインインページの URL。https:// から指定します。もし指定がなければ、このメソッドが呼び出されたページの URL が自動的にセットされます。サインインに失敗したら、ここに指定された URL にリダイレクトします。
サンプルコード
dSymphony.initSigninPage({
  clientId  : '9999999999999',                  // ダッシュボードのクライアントID
  signinUrl : 'https://example.jp/signin.html', // サインインページのURL
  topUrl    : 'https://example.jp/top.html'     // サインイン後のページのURL
});

initMainPage()

このメソッドは、サインイン後に表示するページに必要な機能の準備を行います。サインインページでは使わないでください。

このメソッドは、HTML にマークアップされたサインアウト用のボタンまたはリンクをクリックした際に、自動的にサインアウト処理を行うためのクリックリスナーをセットします。

サインアウトボタンまたはリンクは、以下のいずれかの方法で HTML にマークアップしてください。

button 要素
<button type="button" data-dsymphony="signin-btn-google">Googleアカウントでサインイン</button>
<button type="button" data-dsymphony="signin-btn-docomo">NTTドコモ dアカウントでサインイン</button>
input 要素
<input type="button" data-dsymphony="signin-btn-google" value="Googleアカウントでサインイン">
<input type="button" data-dsymphony="signin-btn-docomo" value="NTTドコモ dアカウントでサインイン">
a 要素
<a href="#" data-dsymphony="signin-btn-google">Googleアカウントでサインイン</a>
<a href="#" data-dsymphony="signin-btn-docomo">NTTドコモ dアカウントでサインイン</a>
サンプルコード
dSymphony.initMainPage();

isAuthenticated()

このメソッドは、サインイン済みかどうかをチェックします。このメソッドは、Promise オブジェクトを返します。

サインイン済みであれば、コールバック関数に該当のユーザー情報を格納したオブジェクトが引き渡されます。サインイン済みでなければ null が引き渡されます。通常、このメソッドの結果を受けて、サインイン済みなら initMainPage() メソッドを呼び出し、サインイン済みでなければサインインページへリダイレクトします。

サンプルコード
dSymphony.isAuthenticated().then(function (user) {
  if (user) {
    // サインイン済みならページ初期化処理を実行
    dSymphony.initMainPage();
  } else {
    // サインイン済みでないならサインインページへリダイレクト
    document.location.href = '/signin.html';
  }
}).catch(function (error) {
  // エラーならサインインページへリダイレクト
  document.location.href = '/signin.html';
});

サインイン済みの場合にコールバック関数に引き渡されるオブジェクトの内容は次のようになります。

{
  "userId": "wNrFkaOg",
  "userName": "あなたの名前",
  "accessToken": "HnTxM0wwo0dtGtnHKjkQy8lv3tNeWYB68ISi9TvtYoM"
}