Outdated and incorrect handle credentials being associated with Metadata Manager deposits
arph
was set up in the admin tool with an incorrect handle password (there was a typo in that password). I have corrected that handle password typo (waiting for 24 hours for that change to sync with Metadata Manager), but every time I try to submit a record in Metadata Manager, I get a 403 AUTHENTICATION FAILED
error.
User Funny thing is, if I simply go into the Admin tool and reprocess that same Metadata Manager submission, the Admin tool processes the submission with no errors. So, that leads me to believe that Metadata Manager may have stored those bad handle credentials and is passing that along with the metadata when trying to update this member's DOIs.
Error in admin tool:
<?xml version="1.0" encoding="UTF-8"?>
<doi_batch_diagnostic status="completed" sp="ds4.crossref.org">
<submission_id>1486453487</submission_id>
<batch_id>9ab73942-ff51-4c15-894e-841a829b0dd4</batch_id>
<record_diagnostic status="Failure">
<doi>10.48087/BJMS</doi>
<msg>Unable to add new DOI: Error(403): AUTHENTICATION FAILED</msg>
</record_diagnostic>
<record_diagnostic status="Failure">
<doi>10.48087/BJMSoa.2020.7203</doi>
<msg>Unable to add new DOI: Error(403): AUTHENTICATION FAILED</msg>
</record_diagnostic>
<batch_data>
<record_count>2</record_count>
<success_count>0</success_count>
<warning_count>0</warning_count>
<failure_count>2</failure_count>
</batch_data>
</doi_batch_diagnostic>
Stack trace:
Unable to add new DOI: Error(403): AUTHENTICATION FAILED
at org.crossref.ds.handle.HandleRegistrar.createHandleValues(HandleRegistrar.java:470)
at org.crossref.ds.handle.HandleRegistrar.commitHandle(HandleRegistrar.java:357)
at org.crossref.ds.handle.HandleManager.update(HandleManager.java:60)
at org.crossref.ds.handle.HandleManager.update(HandleManager.java:75)
at org.crossref.ds.handle.HandleManager.update(HandleManager.java:67)
at org.crossref.ds.metadata.JournalElement.processMe(JournalElement.java:886)
at org.crossref.ds.metadata.MetadataProcessorImpl.processMetadata(MetadataProcessorImpl.java:325)
at org.crossref.ds.controllers.SynchronousDepositController.handleRequest(SynchronousDepositController.java:179)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.crossref.common.spring.servlet.CrossRefDispatcherServlet$1.handle(CrossRefDispatcherServlet.java:140)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:919)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:851)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:855)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.crossref.common.servlet.RequestCaptureFilter.doFilter(RequestCaptureFilter.java:139)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1085)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Rerun that same submission in the admin tool and:
<?xml version="1.0" encoding="UTF-8"?>
<doi_batch_diagnostic status="completed" sp="ds5">
<submission_id>1486453487</submission_id>
<batch_id>9ab73942-ff51-4c15-894e-841a829b0dd4</batch_id>
<record_diagnostic status="Success">
<doi>10.48087/BJMS</doi>
<msg>Successfully updated in handle</msg>
</record_diagnostic>
<record_diagnostic status="Success">
<doi>10.48087/BJMSoa.2020.7203</doi>
<msg>Successfully updated</msg>
</record_diagnostic>
<batch_data>
<record_count>2</record_count>
<success_count>2</success_count>
<warning_count>0</warning_count>
<failure_count>0</failure_count>
</batch_data>
</doi_batch_diagnostic>
wluc
. They were set up in the admin tool with an incorrect handle password (there was a typo in that password). I have corrected that handle password typo (waiting for 24 hours for that change to sync with Metadata Manager), but every time I try to submit a record in Metadata Manager, I get a 403 AUTHENTICATION FAILED
error.
This is also the same for user Funny thing is, if I simply go into the Admin tool and reprocess that same Metadata Manager submission, the Admin tool processes the submission with no errors. So, that leads me to believe that Metadata Manager may have stored those bad handle credentials and is passing that along with the metadata when trying to update this member's DOIs.
<?xml version="1.0" encoding="UTF-8"?>
<doi_batch_diagnostic status="completed" sp="ds3.crossref.org">
<submission_id>1494679851</submission_id>
<batch_id>6c8e440c-4649-4c14-837c-d06acd7669ec</batch_id>
<record_diagnostic status="Failure">
<doi>10.51644/BAP</doi>
<msg>Unable to add new DOI: Error(403): AUTHENTICATION FAILED</msg>
</record_diagnostic>
<record_diagnostic status="Failure">
<doi>10.51644/BAP16</doi>
<msg>Unable to add new DOI: Error(403): AUTHENTICATION FAILED</msg>
</record_diagnostic>
<batch_data>
<record_count>2</record_count>
<success_count>0</success_count>
<warning_count>0</warning_count>
<failure_count>2</failure_count>
</batch_data>
</doi_batch_diagnostic>
Stack Trace from submission:
Unable to add new DOI: Error(403): AUTHENTICATION FAILED
at org.crossref.ds.handle.HandleRegistrar.createHandleValues(HandleRegistrar.java:470)
at org.crossref.ds.handle.HandleRegistrar.commitHandle(HandleRegistrar.java:357)
at org.crossref.ds.handle.HandleManager.update(HandleManager.java:60)
at org.crossref.ds.handle.HandleManager.update(HandleManager.java:75)
at org.crossref.ds.handle.HandleManager.update(HandleManager.java:67)
at org.crossref.ds.metadata.JournalElement.processMe(JournalElement.java:886)
at org.crossref.ds.metadata.MetadataProcessorImpl.processMetadata(MetadataProcessorImpl.java:325)
at org.crossref.ds.controllers.SynchronousDepositController.handleRequest(SynchronousDepositController.java:179)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.crossref.common.spring.servlet.CrossRefDispatcherServlet$1.handle(CrossRefDispatcherServlet.java:140)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:919)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:851)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:855)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.crossref.common.servlet.RequestCaptureFilter.doFilter(RequestCaptureFilter.java:139)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1085)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Then I rerun the submission and it will go through successfully.
<?xml version="1.0" encoding="UTF-8"?>
<doi_batch_diagnostic status="completed" sp="ds5">
<submission_id>1494679851</submission_id>
<batch_id>6c8e440c-4649-4c14-837c-d06acd7669ec</batch_id>
<record_diagnostic status="Success">
<doi>10.51644/BAP</doi>
<msg>Successfully updated in handle</msg>
</record_diagnostic>
<record_diagnostic status="Success">
<doi>10.51644/BAP16</doi>
<msg>Successfully updated</msg>
</record_diagnostic>
<batch_data>
<record_count>2</record_count>
<success_count>2</success_count>
<warning_count>0</warning_count>
<failure_count>0</failure_count>
</batch_data>
</doi_batch_diagnostic>
Impact: these member cannot register any content using Metadata Manager.
Definition of ready
-
Product owner: @SaraBowman -
Tech lead: @myalter -
Service:: label applied -
Definition of done updated -
Acceptance testing plan: -
Weight applied
Definition of done
-
Unit tests identified, implemented, and passing -
Code reviewed -
Knowledge base reviewed and updated -
Consider any impacts to current or future architecture/infrastructure, and update specifications and documentation as needed -
Public documentation reviewed and updated -
Available for acceptance testing via a staging URL, or otherwise -
Acceptance criteria met -
This user no longer receives a 403 message when registering content in Metadata Manager -
Respond to member's message in Community forum: https://community.crossref.org/t/typeerror-cannot-read-property-status-of-undefined/1170/18
-