Single sign on web2py CAS自定义字段

Single sign on web2py CAS自定义字段,single-sign-on,web2py,cas,jasig,Single Sign On,Web2py,Cas,Jasig,我已经在db.py中设置了我的web2py应用程序,以便与JASIG CAS 2一起使用,如下所示: from gluon.contrib.login_methods.cas_auth import CasAuth auth.settings.login_form=CasAuth( urlbase = "https://sso.mysite.co.za", actions = ['login','serviceValidate','logout']

我已经在db.py中设置了我的web2py应用程序,以便与JASIG CAS 2一起使用,如下所示:

from gluon.contrib.login_methods.cas_auth import CasAuth
auth.settings.login_form=CasAuth(
            urlbase = "https://sso.mysite.co.za",
            actions = ['login','serviceValidate','logout'],
            casversion = 2,
            casusername = "cas:user")
我的CAS服务器配置为传递一些自定义字段,这些字段是我在使用者上添加的:

auth.settings.extra_fields['auth_user']=[Field('tokens')]

问题是没有填充字段。我遗漏了什么吗?

web2py的CAS 2.0实现中存在问题,检查了XML信封,但没有检查实际的属性结构。我对fork做了一些更改,并提交了一个pull请求


我不知道它在CAS 2中是如何工作的,但是在CAS 3和更高版本中,您必须将属性添加到属性存储库中,查看每个服务中允许的属性的静态配置,这些属性是在CAS提供程序上配置的,但是CAS consumer web2py上没有接收到这些字段。您是否将额外字段放在auth.define_tableUserName=True之前?是@Remco,我可以看到表中的字段,它们只是没有填充。您检查过区分大小写吗?”代币与代币可能是不同的。如果需要,可以在cas_auth.py中打印几行调试代码,并查看服务器提供的功能。搜索dxml=dom.parseStringdata并在那里开始调试。