.NET Core集成NemLog-in3/OIOSAML 3日志输出类型而非值的咨询
OIOSAML 3集成日志输出参数类型问题解答
这个是有意设计的默认行为,不属于已知Bug,核心是出于合规层面的敏感数据防护要求:
- NemLog-in 3 / OIOSAML 3 规范对身份断言相关的敏感数据处理有严格约束,断言ID、用户会话ID、证书校验结果等信息均属于个人敏感数据,默认状态下日志不会输出明文值,避免日志泄露导致合规风险
- 对应NuGet包的EventSource事件输出逻辑默认对自定义参数类型直接调用
ToString()方法输出,大部分SAML相关的自定义类型没有重载ToString()方法,因此最终日志中只会显示参数的类型全名而非实际属性值
如果需要输出实际参数值满足官方的断言校验审计日志要求,可以参考以下方案操作:
- 开启审计日志专属开关:在OIOSAML服务配置项中设置
EnableAuditLogging = true,该开关开启后会按规范要求输出所有必填的校验字段,注意开启后需要自行确保日志存储、访问的安全性符合GDPR以及丹麦个人数据保护相关规定 - 自定义审计日志实现:如果使用的是ITfoxtec Identity SAML2系列的OIOSAML扩展包,可以自行实现
IAuditLogger接口替换默认日志逻辑,直接从SAML断言原始对象中读取所有需要的属性值写入你的日志系统,不需要依赖EventSource的默认输出 - 开启敏感数据日志权限:如果对接的是丹麦官方发布的NemLog-in3专属NuGet包,需要额外在配置中添加
LogSensitiveData = true配置项,EventSource的事件才会携带实际的参数值而非类型占位
内容的提问来源于stack exchange,提问作者Teilmann
相关产品推荐
相关产品推荐

