scala - Play-pac4j with wso2is throws "IDP Metadata cannot be null" -
i need little this. i'm use project (play-pac4j-scala-demo) test wso2is saml server, change make in openidp-feide.xml file, replaced content:
<md:entitydescriptor xmlns:md="urn:oasis:names:tc:saml:2.0:metadata" xmlns:saml="urn:oasis:names:tc:saml:2.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" entityid="https://localhost:9443/samlsso" validuntil="2023-09-23t06:57:15.396z"> <md:idpssodescriptor protocolsupportenumeration="urn:oasis:names:tc:saml:2.0:protocol"> <md:keydescriptor use="encryption"> <ds:keyinfo> <ds:x509data > <ds:x509certificate > miievtccaz2gawibagiqizi6spzn4kg8sj2/gy6qdtanbgkqhkig9w0baqsfadcb hde7mdkga1uecwwyz2vuzxjhdgvkigj5igf2yxn0isbhbnrpdmlydxmgzm9yifnt tc9utfmgc2nhbm5pbmcxhzadbgnvbaomfmf2yxn0isbxzwivtwfpbcbtagllbgqx jdaibgnvbammg2f2yxn0isbxzwivtwfpbcbtagllbgqgum9vddaefw0xntaxmjay mda2mzlafw0xnjaxmjaymda2mzlamd8xitafbgnvbastgervbwfpbibdb250cm9s ifzhbglkyxrlzdeambgga1ueawwrki5qzndlynbvcnrhbc5jb20wggeima0gcsqg sib3dqebaquaa4ibdwawggekaoibaqdvnszgsbqc+0ieql//mc/swckstqtnxces 4fl4jn7rzov0rftb0xkxxsdss66yeswz1/hn8hnkswdyl9ttlsum8r4brirjdrgi xaxyj5gzgkwa5fhbqjeuq3fqxqbm+ytnhvuvd4jqrgs3ccxephf35dk/2mtvei0b us8iecbvrscerbg5a6zdz2ppmlh5jrc/mq8mhwqjyztf4/hlmzr2ixzvahcd59bg apawubbv4uz44xs288qdha8ty0+m0fhnxh6v5v1afenmamvwoelb8d2vkfzk+1nm krtggevupab3k4+3xlv7qkd9eqsfdso+oairirvvmaxc3bmkweflagmbaagjggef miibatambgnvhrmbaf8eajaamb0ga1udjqqwmbqgccsgaqufbwmbbggrbgefbqcd ajaobgnvhq8baf8ebamcbaawuwydvr0gbewwsjbibgtghkgbhv1taqcxata5mdcg ccsgaqufbwibfitodhrwoi8vy2vydglmawnhdgvzlmdvzgfkzhkuy29tl3jlcg9z axrvcnkvmb8ga1udiwqymbaafblpv0jwxwgkdtayzxqlgjrkp/vxmc0ga1udeqqm mcscesouamz3zwjwb3j0ywwuy29tgg9qzndlynbvcnrhbc5jb20whqydvr0obbye fbpraaygfel1ufhj8ijqtcja71v0ma0gcsqgsib3dqebcwuaa4ibaqct7cs4yuud vi+oe7kgsgmtgtjec7ui211v5f6humscz2g/udfjwppkkutorvovrvl6s64lvipy pgmwdcrebwxhwmn+x4w1gpq97r9pltw2qah5aobbuct8y/rblvxy9w9qz5gj5rii nri7i2j/omo/qh5mqfc6wrmhz91mksv6+ts5s+pgb30kkezyxc7kg/1z4l7nblls brsicg7fvu7frjeyxg64eponim0zu4agowd+aqbbfz6ps+rimgqgbibnjbjjxgni ysg0z4s5nusoxmgwc54heoytu6ulcaslrwvqqaziyrdboyt98lfkhdsmmt7+yn04 awezsyuqis2v </ds:x509certificate> </ds:x509data> </ds:keyinfo> </md:keydescriptor> <md:singlelogoutservice binding="urn:oasis:names:tc:saml:2.0:bindings:http-redirect" location="https://localhost:9443/samlsso" responselocation="https://localhost:9443/samlsso"/> <md:singlesignonservice binding="urn:oasis:names:tc:saml:2.0:bindings:http-post" location="https://localhost:9443/samlsso"/> <md:singlesignonservice binding="urn:oasis:names:tc:saml:2.0:bindings:http-redirect" location="https://localhost:9443/samlsso"/> </md:idpssodescriptor> </md:entitydescriptor> the above idp metadata. next, in wso2is server created issuer, this:
issuer : http://localhost:9000/callback?client_name=saml2client assertion consumer url *: http://localhost:9000/callback?client_name=saml2client nameid format : urn:oasis:names:tc:saml:1.1:nameid-format:emailaddress enable attribute profile: true other attributes stay default options.
but when try authenticate project (play-pac4j-scala-demo) throws exception:
[debug] - org.pac4j.play.callbackcontroller - defaulturl : /?2 @ scala.concurrent.impl.callbackrunnable.executewithvalue(promise.scala:40) [scala-library-2.11.6.jar:na] @ scala.concurrent.impl.promise$defaultpromise.trycomplete(promise.scala:248) [scala-library-2.11.6.jar:na] @ scala.concurrent.promise$class.complete(promise.scala:55) [scala-library-2.11.6.jar:na] @ scala.concurrent.impl.promise$defaultpromise.complete(promise.scala:153) [scala-library-2.11.6.jar:na] @ scala.concurrent.future$$anonfun$recover$1.apply(future.scala:324) [scala-library-2.11.6.jar:na] @ scala.concurrent.future$$anonfun$recover$1.apply(future.scala:324) [scala-library-2.11.6.jar:na] @ scala.concurrent.impl.callbackrunnable.run(promise.scala:32) [scala-library-2.11.6.jar:na] @ play.core.j.httpexecutioncontext$$anon$2.run(httpexecutioncontext.scala:40) [play_2.11-2.4.0.jar:2.4.0] @ akka.dispatch.taskinvocation.run(abstractdispatcher.scala:40) [akka-actor_2.11-2.3.11.jar:na] @ akka.dispatch.forkjoinexecutorconfigurator$akkaforkjointask.exec(abstractdispatcher.scala:397) [akka-actor_2.11-2.3.11.jar:na] @ scala.concurrent.forkjoin.forkjointask.doexec(forkjointask.java:260) [scala-library-2.11.6.jar:na] @ scala.concurrent.forkjoin.forkjoinpool$workqueue.runtask(forkjoinpool.java:1339) [scala-library-2.11.6.jar:na] @ scala.concurrent.forkjoin.forkjoinpool.runworker(forkjoinpool.java:1979) [scala-library-2.11.6.jar:na] @ scala.concurrent.forkjoin.forkjoinworkerthread.run(forkjoinworkerthread.java:107) [scala-library-2.11.6.jar:na] caused by: org.pac4j.saml.exceptions.samlexception: idp metadata cannot null @ org.pac4j.saml.sso.saml2webssoprofilehandler.receivemessage(saml2webssoprofilehandler.java:127) ~[pac4j-saml-1.7.0.jar:na] @ org.pac4j.saml.client.saml2client.retrievecredentials(saml2client.java:322) ~[pac4j-saml-1.7.0.jar:na] @ org.pac4j.saml.client.saml2client.retrievecredentials(saml2client.java:95) ~[pac4j-saml-1.7.0.jar:na] @ org.pac4j.core.client.baseclient.getcredentials(baseclient.java:220) ~[pac4j-core-1.7.0.jar:na] @ org.pac4j.play.java.requiresauthenticationaction$6.apply(requiresauthenticationaction.java:202) ~[play-pac4j-java-1.5.0-snapshot.jar:na] @ org.pac4j.play.java.requiresauthenticationaction$6.apply(requiresauthenticationaction.java:194) ~[play-pac4j-java-1.5.0-snapshot.jar:na] @ play.core.j.fpromisehelper$$anonfun$promise$2.apply(fpromisehelper.scala:36) ~[play_2.11-2.4.0.jar:2.4.0] @ scala.concurrent.impl.future$promisecompletingrunnable.liftedtree1$1(future.scala:24) ~[scala-library-2.11.6.jar:na] @ scala.concurrent.impl.future$promisecompletingrunnable.run(future.scala:24) ~[scala-library-2.11.6.jar:na] ... 7 common frames omitted what wrong here? can help? thanks!
this indicates method decoder.decode not able determine idp use saml authentication response. if encounter error @ point, assume redirect idp, enter credentials , redirect application rather starting point. please use debugging tool (for example saml tracer firefox) read saml assertion , check if idp entity id consistent set-up.
Comments
Post a Comment