WSO2 IS 5.4.0:在 SAML 断言中使用用户名作为属性
WSO2 IS 5.4.0: Using the username as attribute in SAML asserton
场景:
- WSO2 Identity Server 5.4.0 配置为 SAML IDP。
- 配置为 SAML 服务提供商的第三方应用程序。
- WSO2 IS 使用 MySQL 作为 JDBC 用户存储
SAML SP 需要用户名、名字和姓氏作为 SAML 断言中的属性。
SAML SP声明配置设置如下
- 名字 -> http://wso2.org/claims/givenname
- 姓氏 -> http://wso2.org/claims/lastname
- 用户名 -> http://wso2.org/claims/username
名字和姓氏按预期在 SAML 断言中发送,而
用户名 未 在 SAML 断言中发送。
有办法实现吗?
注意:进一步调查表明用户名未在 CLAIMS table UM_USER_ATTRIBUTE 中列出,因此可能无法通过 WSO2 IS 中定义的声明映射访问。有趣的是,在 OIDC 中,用户名作为实际映射到 http://wso2.org/claims/username
的子声明返回
感谢任何提示和见解。
您需要为 JDBCUserStoreManager 启用 scim。在 user-mgt.xml 文件中使 SCIMEnabled 属性 为真,如下所示。
<Property name="SCIMEnabled">true</Property>
然后尝试 SAML 流程。
场景:
- WSO2 Identity Server 5.4.0 配置为 SAML IDP。
- 配置为 SAML 服务提供商的第三方应用程序。
- WSO2 IS 使用 MySQL 作为 JDBC 用户存储
SAML SP 需要用户名、名字和姓氏作为 SAML 断言中的属性。 SAML SP声明配置设置如下
- 名字 -> http://wso2.org/claims/givenname
- 姓氏 -> http://wso2.org/claims/lastname
- 用户名 -> http://wso2.org/claims/username
名字和姓氏按预期在 SAML 断言中发送,而 用户名 未 在 SAML 断言中发送。
有办法实现吗?
注意:进一步调查表明用户名未在 CLAIMS table UM_USER_ATTRIBUTE 中列出,因此可能无法通过 WSO2 IS 中定义的声明映射访问。有趣的是,在 OIDC 中,用户名作为实际映射到 http://wso2.org/claims/username
的子声明返回感谢任何提示和见解。
您需要为 JDBCUserStoreManager 启用 scim。在 user-mgt.xml 文件中使 SCIMEnabled 属性 为真,如下所示。
<Property name="SCIMEnabled">true</Property>
然后尝试 SAML 流程。