<div dir="ltr">Hi All,<div><br></div><div>The logic of "verified_claims" request processing which is defined in OpenID Connect for Identity Assurance 1.0 is complex because of its filtering rules and data minimization policy. I'm afraid that difficulties in implementing it are not recognized enough by the eKYC-IDA WG itself (^_^; Here is an implementation of the logic:</div><div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><a href="https://github.com/authlete/authlete-java-common/blob/master/src/main/java/com/authlete/common/ida/DatasetExtractor.java">https://github.com/authlete/authlete-java-common/blob/master/src/main/java/com/authlete/common/ida/DatasetExtractor.java</a></div></blockquote><div><br></div><div>Some tests are written here:</div><div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><a href="https://github.com/authlete/authlete-java-common/blob/master/src/test/java/com/authlete/common/ida/DatasetExtractorTest.java">https://github.com/authlete/authlete-java-common/blob/master/src/test/java/com/authlete/common/ida/DatasetExtractorTest.java</a></div></blockquote><div><br></div><div>Some of you may understand that verified_claims request processing is not a simple task only by reading the JavaDoc of the implementation (DatasetExtractor):<br></div><div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><a href="https://authlete.github.io/authlete-java-common/com/authlete/common/ida/DatasetExtractor.html">https://authlete.github.io/authlete-java-common/com/authlete/common/ida/DatasetExtractor.html</a></div></blockquote><div><br></div><div>The main reason I published the code as open source is that I believe some discussions in the WG should be based on a shared understanding of the logic. For example,</div><div><br></div><div><ul><li><a href="https://bitbucket.org/openid/ekyc-ida/issues/1276">Issue 1276</a>: [SAO] Output claim set varies depending on evaluation order</li><ul><li>Is "if_different" defined in SAO (Selective Abort/Omit) meaningful?</li></ul><li><a href="https://bitbucket.org/openid/ekyc-ida/issues/1301">Issue 1301</a>: convey error response in userinfo</li><ul><li>Many unmatches may occur during filtering. It's not always easy to identify an error that represents the failure of obtaining "verified_claims". What error report do you want?</li></ul><li><a href="https://bitbucket.org/openid/ekyc-ida/issues/1304">Issue 1304</a>: [IDA] Does the same rule apply to other properties of array type?</li><ul><li>In my opinion, yes, it should.</li></ul></ul></div><div><br></div><div>I'm preparing a sample IdP that incorporates the logic and will be able to do a demo in a regular meeting when requested and/or necessary for discussions.</div><div><br></div><div>Best Regards,</div><div>Takahiko Kawasaki</div><div>Co-founder, Authlete, Inc.</div></div>