lms-他システム連携/API 未分類

13-01.シングルサインオン

更新日:

シングルサインオン(ダイレクトリンク)とは、URLにIDやパスワード、遷移先の画面IDなどを埋め込むことで、 E-learningASPの受講者サイトの各画面に「ログインをせずに」ダイレクトに遷移すること ができる仕組みです。この仕組みを利用することにより、すでにログイン機能を有するサイトから ログインなしで講座の受講を行う等、外部システムとの連携がよりスムーズになり受講者の利便性が 向上します。

13-01-1.事前の設定

管理サイトログイン>サイトTOP(E-learning)>メニュー(基本設定)>ASP基本情報設定

シングルサインオン機能を利用する場合、E-learningASPの場合ASP基本設定において 「シングルサインオンを許可する」にチェックをしてください。 また、E-learningASPを利用していない場合にシングルサインオンで遷移することはできません。 契約しているモジュールを再度確認してください。

さらに、シングルサインオンのハッシュ値を暗号化する際に利用する暗号化キーをメモしてください。

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  (任意)

-lms-他システム連携/API, 未分類

Copyright© E-learning ASP V6 利用マニュアル , 2019 All Rights Reserved Powered by STINGER.