open edx 实现第三方登录-shibboleth单点登录

open edx 实现第三方登录-shibboleth单点登录


前提:shibboelth-idp默认己经配置好,idp与open ldap也能正常联接。

-----------------------------
                    下面是在Open edX上进行的配置
-----------------------------

1. 打开第三方认证特性

由于默认情况下open edx的第三方认证是不可用的,因此首先需要打开第三方认证特性。通过下面的操作实现:
(1)输入下面的命令:
sudo su
vi /edx/app/edxapp/lms.env.json

(2)在lms.env.json文件中,把
"ENABLE_COMBINED_LOGIN_REGISTRATION" 和 "ENABLE_THIRD_PARTY_AUTH"
这两个属性的值都改为true,保存修改。
"FEATURES" : {
    ...
    "ENABLE_COMBINED_LOGIN_REGISTRATION": true,
    "ENABLE_THIRD_PARTY_AUTH": true
}
如下图所示


2. 配置Open edX作为SP

  首先生成credential key pair(即生成公钥和私钥)以保证SP和IDP之间数据传输的安全性,然后利用credential key pair生成SP端的原数据。

2.1 生成公钥和私钥

(1)输入下面的命令:
openssl req -new -x509 -days 3652 -nodes -out saml.crt -keyout saml.key
   (2)   输入要求填写的信息(Country Name, state or Province Name,等),就会在当前路径下生成公钥saml.crt和私钥saml.key

生成的结果如下:(saml.crt   saml.key)


2.2 把生成的公钥和私钥添加到LMS配置文件中

(1)打开lms.auth.json文件
输入下面的命令:
vi /edx/app/edxapp/lms.auth.json

(2)把saml.crt文件的内容复制到 SOCIAL_AUTH_SAML_SP_PUBLIC_CERT属性中。
       注意: saml.crt文件的内容去掉开头和结尾的注释,内容去掉换行。使之为一个单行的字符串添加入 SOCIAL_AUTH_SAML_SP_PUBLIC_CERT属性中。
       saml.crt文件内容如下图:



      lms.auth.json加入公钥私钥内容后如下:



(3)把saml.key文件的内容复制到 SOCIAL_AUTH_SAML_SP_PRIVATE_KEY属性中。
         saml.key内容如下。也是只复制中间的内容(内容去掉开头和结尾的注释,内容去掉换行。使之为一个单行的字符串)



2.3 配置open edx作为SP,生成原数据

(1)登录到Django 管理界面。
URL为http://{your_URL}/admin ,如这里的是:http://cherry.os.cs.tsinghua.edu.cn
界面如下图:输入有管理员权限的用户名密码
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值