アプリケーション開発
認証 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"
}