Python 无法在okta中配置自定义属性
向SP传递自定义属性时遇到问题 详情: 我正在为IDP使用developersOKTA管理配置文件。 我的SP是一个python应用程序,它使用Django/jinja/Django CMS 我的应用程序Python 无法在okta中配置自定义属性,python,django,okta,Python,Django,Okta,向SP传递自定义属性时遇到问题 详情: 我正在为IDP使用developersOKTA管理配置文件。 我的SP是一个python应用程序,它使用Django/jinja/Django CMS 我的应用程序属性语句值如下 尝试1: 用户名|${user.userName}| urn:oasis:names:tc:SAML:2.0:attrname格式:basic,firstName{user.firstName}urn:oasis:names:tc:SAML:2.0:attrname格式:basi
属性语句
值如下
尝试1:
用户名|${user.userName}| urn:oasis:names:tc:SAML:2.0:attrname格式:basic,firstName{user.firstName}urn:oasis:names:tc:SAML:2.0:attrname格式:basic,lastName{user.lastName}| urn oasis:names:tc:SAML:2.0:attrname格式:basic,email{user.email}urn oasis:names:tc:SAML:2.0:attru|${template_saml_2_0.is_publisher}urn:oasis:names:tc:saml:2.0:attrname格式:basic,userRole${template_saml_2_0.userRole}urn:oasis:names:tc:saml:2.0:attrname格式:basic
其中,是发布者(类型布尔)和用户角色(类型字符串)是在用户配置文件和应用程序用户配置文件这两个位置定义和给定值的自定义属性。而模板_saml_2_0是应用程序用户对象,用户是用户对象
接下来,我将这些变量映射到一起:
okta->app的映射
user.is\u publisher映射到is\u publisher,并且
app->okta的映射
appuser.is\u publisher已映射到is\u publisher
对其他属性执行类似操作
单击应用程序chiklet,使用此attributes语句生成“500 internal server error”。此错误在okta调用SP之前触发。我发现我的SP日志中没有记录任何内容。我不知道如何跟踪okta IDP的日志
尝试2:
在这里,我从用户对象中获取自定义属性的值,其余的保持与尝试1中的相同
is|publisher |${user.is|publisher}| urn:oasis:names:tc:SAML:2.0:attrname格式:basic,userRole |${user.userRole}| urn:oasis:names:tc:SAML:2.0:attrname格式:basic
现在,在OKTA传递给SP的断言xml中,此更改为userRole(字符串类型)而不是is\u publisher(布尔类型)的值。我猜如果自定义属性仅为字符串类型而不是任何其他类型,则会返回值。是这样吗
你能告诉我哪里出了问题吗?我需要根据应用程序设置用户角色,而我在Attempt1中没有这样做。在Attempt2中,我只得到字符串类型CustomAttribute的值。这里也有同样的问题。我创建了一个新的自定义“角色”用户属性,然后我尝试使用${user.role}在属性中引用它.Okta返回一个内部服务器错误。您找到解决方案了吗?没有。