シングルサインオン(ダイレクトリンク)とは、URLにIDやパスワード、遷移先の画面IDなどを埋め込むことで、 E-learningASPの受講者サイトの各画面に「ログインをせずに」ダイレクトに遷移すること ができる仕組みです。この仕組みを利用することにより、すでにログイン機能を有するサイトから ログインなしで講座の受講を行う等、外部システムとの連携がよりスムーズになり受講者の利便性が 向上します。
13-01-1.事前の設定
管理サイトログイン>サイトTOP(E-learning)>メニュー(基本設定)>ASP基本情報設定
シングルサインオン機能を利用する場合、E-learningASPの場合ASP基本設定において 「シングルサインオンを利用する」にチェックをしてください。 また、E-learningASPを利用していない場合にシングルサインオンで遷移することはできません。 契約しているモジュールを再度確認してください。
さらに、シングルサインオンのハッシュ値を暗号化する際に利用する暗号化キーをメモしてください。
シングルサインオンURLの「暗号化情報」の暗号化に初期ベクトルを利用する場合は、下記にチェックを入れ、任意の初期ベクトル英数小文字16文字を入力下さい。
※「暗号化情報」については以降に記載しております。
13-01-2.URLフォーマット
シングルサインオンURLのフォーマットは以下の通りです。
https://www.c-streaming.net/v5/e-learning/user/login.php?kaisha_id=【暗号化会社ID】&mode=single_sign_on&hash=【暗号化情報】
【暗号化会社ID】・・受講者サイトログイン用のURLに含まれているものと同様 【暗号化情報】・・AES128暗号化を実施したログインに必要な情報。すなわち、ログインID、パスワード、遷移先の画面ID、講座ID、講義ID、URLの有効期限などの情報を「&」でつないだ文字列を暗号化したもの。詳細は次章参照。 |
13-01-3.暗号化情報
1.暗号化前の値
暗号化情報は以下の文字列をAES128で暗号化し、URLエンコーディングをしたものになります。
kaisha_id=【会社ID】&user_login_id=【受講者ログインID】&password=【受講者パスワード】&【オプション情報】&page=【画面ID】&limit=【有効期限】 |
解説
【会社ID】・・会社ID
【画面ID】・・遷移先の画面ID。詳細は次章参照。
【受講者ログインID】・・ログインする受講者のID※メールアドレスか独自のログインID(※注1)
【受講者パスワード】・・ログインする受講者のパスワード(※注1)
【オプション情報】・・各画面ごとに指定できる、または指定が必須な項目。詳細は次章参照。
【有効期限】・・シングルサインオンURLの有効期限。この有効期限を過ぎると当該URLは利用できなくなります。半角数字16桁 (YYYYMMDDHHIISS) 。設定しなければ無期限になります。
(※注1) + / などの文字が含まれる場合
ログインIDやパスワードには、URLに利用される+や/といった文字が含まれることがあります。それらをそのまま挿入すると、シングルサインオンURLが正常に生成できないため、ログインIDやパスワードは必ずURLエンコードするように注意してください。
参考
kaisha_id=OMIYA&user_login_id=test@test.com&password=pass0123!&course_id=C0000001&lecture_id=01&page=mplay&limit=20170701120100
2.暗号化
AES128での暗号化のためには、まずは暗号化キーが必要になります。事前に取得した暗号化キーをもとに、以下のサイトなどを活用して先ほどの暗号化前の値をAES128暗号化してください。
(https://encode-decode.com/aes128-encrypt-online/)
【参考 講義視聴ページへ遷移するための暗号化情報】
・暗号化前
kaisha_id=OMIYA&userid=test@test.com&password=pass0123!&course_id=C0000001&lecture_id=01&page=play&limit=20170701120100
・暗号化後(キー:yu5vogzbbftk2dfr)
12e33v4rG3Momp45RPBzElr63lcxrfYhx03o4HqHBtQEUpJkwEKiyTHJY6mH8gq9vY+YyQkL3YDtloeEdAnSD0jYeozB4F2fimSPKgqpx9Zwzmbk9kBZtfrz+EfATZeqIkEc27O5jK3GPl1cW0+nENwKICAdBwSs2WV/TqUXUaw=
3.URLエンコード
作成したハッシュに「/」などのURLで作成する文字がふくまれると、そのままハッシュをURL化してもうまく動作しません。そこで、こちらのサイトなどで作成したハッシュをURLエンコードして、それをご利用ください。
・URLエンコード前
12e33v4rG3Momp45RPBzElr63lcxrfYhx03o4HqHBtQEUpJkwEKiyTHJY6mH8gq9vY+YyQkL3YDtloeEdAnSD0jYeozB4F2fimSPKgqpx9Zwzmbk9kBZtfrz+EfATZeqIkEc27O5jK3GPl1cW0+nENwKICAdBwSs2WV/TqUXUaw=
・URLエンコード後
12e33v4rG3Momp45RPBzElr63lcxrfYhx03o4HqHBtQEUpJkwEKiyTHJY6mH8gq9vY%2bYyQkL3YDtloeEdAnSD0jYeozB4F2fimSPKgqpx9Zwzmbk9kBZtfrz%2bEfATZeqIkEc27O5jK3GPl1cW0%2bnENwKICAdBwSs2WV%2fTqUXUaw%3d
13-01-4.オプション情報
オプション情報の一覧を以下に記載します。オプション情報は暗号化情報の中に含めます。複数のオプション情報を利用する場合、「&」で値をつなげてください
※オプションは、すべての画面で利用できるわけではありません。画面IDと利用できるオプションの種類については次章をご覧ください。
course_id=XXX | 講座のID(Cから始まるもの) XXX部分には実際の値を埋め込んでください。 講座を特定しなければ表示できないページで必須 |
lecture_id=XXX | 講義のID(数字2桁)XXX部分には実際の値を埋め込んでください。 講義受講画面で必須 |
course_group_id=XXX | 講座グループID(CGから始まるもの)XXX部分には実際の値を埋め込んでください。 ASP基本設定で、受講単位を「講座グループ」にした場合、講座一覧ページで必須 |
curriculum_id=XXX | カリキュラムのID(CCから始まるもの)XXX部分には実際の値を埋め込んでください。 カリキュラム画面で必須。その他、カリキュラム単位で受講している講座の個別ページや講義受講ページには必須。 |
course_category_id=XXX | 講座のカテゴリ(大分類)XXX部分には実際の値を埋め込んでください。 講座一覧で、大分類で絞った状態で表示したい場合入力する |
course_small_category_id=XXX | 講座のカテゴリ(小分類)XXX部分には実際の値を埋め込んでください。 講座一覧で、小分類で絞った状態で表示したい場合、大分類とともに入力する |
contentsonly=true | 設定すると、当該ページのヘッダ、フッタ情報を非表示にできる。呼び出し元ページ側にiframeで埋め込んだりする場合や、ほか画面に遷移してほしくない場合に利用する。 |
guide=false | 講義受講ページで設定可能。ガイド機能を非表示にできる。 |
msgbox=false | 設定すると、講義上に表示されるメッセージボックスをすべて非表示にできる。例外として、動画視聴完了後のボックスは当該オプションを設定しても表示される |
event=true | 動画の再生、一時停止、視聴完了などのイベントを呼び出し元画面で取得できる。(非推奨) |
playeronly=true | 設定すると、動画再生プレイヤーのみが画面表示される。純粋にプレイヤーだけを埋め込みたい場合には設定する。 |
width=9999 | playeronly=trueの場合のみ有効。プレイヤーの横幅のpx数を指定する |
height=9999 | playeronly=trueの場合のみ有効。プレイヤーの縦幅のpx数を指定する |
autoplay=1 | playeronly=trueの場合のみ有効。指定するとプレイヤーを自動再生する。チャプター切り替えなどで利用することを想定。 |
noreplay=1 | playeronly=trueの場合のみ有効。しおり機能を強制的にOFFにする。 |
13-01-5.画面ID
シングルサインオンで利用できる画面IDとオプションを表にしました。暗号化情報を作成する際にご利用ください。
No | 名称 | 画面ID | オプション |
1 | 受講者TOP | top | - |
2 | 受講講座一覧 | course_list | course_group_id=XXX (条件付必須) course_category_id=XXX (任意) course_small_category_id=XXX (任意) contentsonly=true (任意) |
3 | カリキュラム受講 | curriculum | curriculum_id=XXX (必須) contentsonly=true (任意) |
4 | 受講講座個別 | detail | curriculum_id=XXX (条件付き必須) course_id=XXX (必須) contentsonly=true (任意) |
5 | 講義受講(動画) | mplay | curriculum_id=XXX (条件付き必須) course_id=XXX (必須) lecture_id=XXX (必須) guide=false (任意) contentsonly=true (任意) msgbox=false (任意) event=true (任意) playeronly=true (任意) width=9999 (任意) height=9999 (任意) autoplay=1 (任意) noreplay=1 (任意) |
6 | 講義受講(問題) | qplay | curriculum_id=XXX (条件付き必須) course_id=XXX (必須) lecture_id=XXX (必須) guide=false (任意) contentsonly=true (任意) msgbox=false (任意) |
7 | 講義受講(スライド) | splay | curriculum_id=XXX (条件付き必須) course_id=XXX (必須) lecture_id=XXX (必須) guide=false (任意) contentsonly=true (任意) msgbox=false (任意) |
8 | 講義受講(スライド動画) | msplay | curriculum_id=XXX (条件付き必須) course_id=XXX (必須) lecture_id=XXX (必須) guide=false (任意) contentsonly=true (任意) msgbox=false (任意) |
9 | 講義受講(アンケート) | anqplay | course_id=XXX (必須) lecture_id=XXX (必須) contentsonly=true (任意) |
10 | 講義受講(課題) | taskplay | course_id=XXX (必須) lecture_id=XXX (必須) contentsonly=true (任意) |
11 | 商品一覧 | p_list | contentsonly=true (任意) |
12 | 質問回答一覧 | faq | contentsonly=true (任意) |
13 | 課題一覧 | task_list | contentsonly=true (任意) |
14 | スレッド一覧 | thread_list | contentsonly=true (任意) |
15 | スレッド | thread | thread_id=XXX(必須) contentsonly=true (任意) |
16 | 受講者情報表示 | userinfo | contentsonly=true (任意) |
17 | 受講者情報編集 | user_edit | contentsonly=true (任意) |
18 | 受講履歴 | user_state | contentsonly=true (任意) |