連動トークンの生成

このドキュメントでは、連携のために必要なトークンを生成する方法について説明します。

トークン情報

Eliceとの連携には、以下の必須情報が必要です。

  • ユーザー識別子 (uid) : 特定のユーザーを一意に識別するために必要な値です。

    • 貴社のLMSでログインに使用するユニークな文字列(ユーザーID、ユーザー名、メールアドレスなど)を使用することができます。

    • Eliceでの受講申し込みを行うために、uid** に受講期の情報を一緒に入れることもできます。** Eliceでは、uid の値が変わらない限り、既存の受講申し込みを修正する形で動作します。そのため、新しい受講期で受講申し込みを行うためには、uid の値を変更する必要があります。例えば、貴社のLMSでユーザーのユーザー名が test1 の場合、test1_20200801test1_20200901 などの異なる uid を設定して、Eliceで独立した連携アカウントとして扱うことができます。

  • ユーザー名 (fullname) : Eliceで特定のユーザーの名前を表示するために必要な値です。

  • メールアドレス (email) : Eliceで使用するさまざまなメール連携ベースのサービスを利用するために必要な値です。

    • メールアドレスが存在しない場合、不本意ながら空の文字列を使用することができますが、一部のサービスの利用に制限がある可能性があります。

  • トークン生成時刻 (ts) : トークンを生成した時刻です。現在の時刻のミリ秒単位のエポックを使用します。トークンが漏洩した場合、生成時刻と使用時刻の間に300秒以上の差があると、連携が拒否されます。

また、以下の情報をオプションで提供することもできます。

  • 科目ID (courseId) : Eliceで自動的に入学させる科目のIDです。このIDは、elice側の科目IDを基準にします。

    • 別途カスタマイズを行うことで、貴社のLMSで使用する科目IDを使用することもできますが、その場合は別途の連携開発プロセスが必要であり、新しい科目を開設または接続するたびに、事前に合意した手順に従って、貴社のLMSとElice側の科目IDをマッピングする連携作業を行う必要があります。

  • ユーザー権限 (userRole) : ユーザーに権限を付与するために必要な値です。

    • 学生: 0 / 教育者: 10 / 管理者: 20

    • 入力しない場合は、学生権限が付与されます。

    • 教育者および管理者権限は、連携タイプが「ホーム連携」の場合に有効です。

トークン生成方法

トークンは、下記のいずれかの暗号化およびシリアライズ方法を使用して、JSONシリアライズされたトークン情報を生成することができます。連携開発の利便性を考慮して、ウェブ標準のJWT方式が推奨されますが、追加のセキュリティ(機密性)を必要とする場合は、AES-CBC方式を使用することもできます。

JWT 方法によるトークン生成AES-CBC 方法によるトークン生成別個の独自暗号化

Last updated