top of page

单点登录简介

简介

Electude允许学生通过外部(web)应用直接访问软件内容。为此,外部应用程序应该把学生的用户名、所需的课程内容和一个有时间限制的独立访问代码发至Electude站点。 在本文中,以 example.electude.com 作为Electude 演示站点。

站点的管理员需先允许外部访问并输入密钥。这个密钥应该保密,并用于生成访问密码。此步骤在“管理员设置”中有详细说明。

当站点允许直接访问时,Electude单点登录可以采用POST方式通过一个HTTP请求实现。所有数据都应该使用UTF-8编码。

所要求的数据字段请参考自动登录。可选字段会在后续章节中介绍。

管理员设置

所有设置均由Electude站点管理员通过主菜单“设置” 和 子菜单“外部访问”设置完成:

  • 直接访问:选择“Electude单点登录(SSO)

  • 钥: 输入一段字符,例如: 'G#037dk1fa323'

  • 你可以用此密码现场测试样本站点。 重要提示 :不要在实际产品环境中使用此密钥。

  • 新学生:选择“不允许” ,或者需要自动创建新帐户时,选择新学员账户所属的组别名称。

更多信息请参考自动添加账户部分内容

 


自动登录

为实现自动登录,数据(UTF-8编码)需要通过POST方式发送到 http://example.electude.com/launch。该字段要求如下:

内容
该字段包含目标内容,例如: “lesson_50”。
有效值是“lesson_X” (一个模块) 或 “bundle_X”(一个课程中的一系列模块)。“X” 是一个数值的占位符。
该值与老师在Electude软件中看到的URL的最后一部分是一致的。例如:http://example.electude.com/lesson_50 是“Kirchhoff's first law”的信息页。

老师可以在选择主菜单上的“模块”栏,下载一个完整的CSV格式的模块列表。点击子菜单中的“所有/新”,点击“模块”链接:http://example.electude.com/lessonall_1


名字
学生的用户名, 例如:john
在每一个Electude 站点上,用户名是唯一的
核查
登录密码
由字符串的SHA1散列生成:“名称 内容 日期 域名 钥”

字符串的字段由空白格(ASCII 32)隔开,这些附加字段用于:


日期
目前日期的格式是“年月日”,例如:“20080923” 
域名
公布数据的主机名称,例如:“example.electude.com”
密钥
管理员输入密钥:“G#037dk1fa323” 


登录编码应该是字符串的SHA1散列:​
john lesson_50 20080923 example.electude.com G#037dk1fa323
也就是:
04f6ba6f9226156176e552670b6a20aafabb9eb5

该HTML表格生成的示例申请:

 

1
<form method="post"><br> <input name="name" value="john" type="hidden"> <br> <input name="content" value="lesson_50" type="hidden"> <br> <input name="check" value="04f6ba6f9226156176e552670b6a20aafabb9eb5" type="hidden"> <br> <input value="start" type="submit"></form>

 

直接访问模块

上方的表格自动存录学生到其个人的Electude环境中,您可以选择隐藏环境,通过添加字段直接发布模块:

 

直接
当字段包含数值1并且请求内容是模块时,模块会直接发布。

当请求内容不是模块时,这些字段会被自动忽略。

 

HTML表格生成的示例申请:

 

1
<form method="post"><br> <input name="name" value="john" type="hidden"> <br> <input name="content" value="lesson_50" type="hidden"> <br> <input name="check" value="04f6ba6f9226156176e552670b6a20aafabb9eb5" type="hidden"> <br> <input name="direct" value="1" type="hidden"> <br> <input value="start" type="submit"></form>

 

 

自动添加账户

上面详述的情况是基于假设学生账号已经存在。

Electude站点管理员可以设置自动添加账户。因此,必须定义一个新学生账户组别。

当管理员设置允许自动创建新账户,其他必须定义的字段:


这个区域包含学生的名

这个区域包含学生的姓

邮箱
这个区域包含学生的有效邮箱地址


如果账户还不存在,该HTML表确保新账户完成创建:

 

1
<form method="post"><br> <input name="name" value="john" type="hidden"> <br> <input name="firstname" value="John" type="hidden"> <br> <input name="surname" value="Doe" type="hidden"> <br> <input name="email" value="john @ doe.com" type="hidden"> <br> <input name="content" value="lesson_50" type="hidden"> <br> <input name="check" value="04f6ba6f9226156176e552670b6a20aafabb9eb5" type="hidden"> <br> <input value="start" type="submit"></form>

 

如果账户还不存在,学生会被要求输入密码。如果账户已经存在,无法设置其他字段,例如:你无法用这种方式在Electude里改变已经存在的账户的邮箱地址。

 

当新账户已经创建完成,如不需要密码询问,需要添加额外字段:

无密码
该字段应该包含数值“1”


当该字段被设置为“1”,系统会自动生成随机密码。学生只能通过单点登录,因为学生不知道密码。下面这行应该被添加到表格:

 

1
<input name="nopassword" value="1" type="hidden">

 

 

覆盖默认的语言

学生可以自主选择语言。当学生账户自动创建时,使用的是站点默认语言。

通过添加额外字段,默认选择的语言将被忽略:

 

语言
该字段包含的ISO639代码,为两个字母的语言。“我们”使用美国英语。

该HTML表格生成样本请求:

1
<form method="post"><br> <input name="name" value="john" type="hidden"> <br> <input name="content" value="lesson_50" type="hidden"> <br> <input name="check" value="04f6ba6f9226156176e552670b6a20aafabb9eb5" type="hidden"> <br> <input name="language" value="us" type="hidden"> <br> <input value="start" type="submit"></form>

 

 

现场样版

工作样表可以在 http://example.electude.com/sso_example.php (使用您自己的域名网址,并非example.electude.com)上申请。在样板中登录代码是由您的域名和当天日期生成的。样板中其他字段包含用值,户名和密钥。

bottom of page