Modify

Opened 3 weeks ago

Closed 3 weeks ago

Last modified 3 weeks ago

#23717 closed defect (fixed)

Exception when trying to manually enter OAuth2 access token

Reported by: syncronic <wonic@…> Owned by: syncronic <wonic@…>
Priority: normal Milestone: 24.06
Component: Core Version:
Keywords: template_report, oauth2 Cc: wonic@…

Description

What steps will reproduce the problem?

  1. Start JOSM and go to Bearbeiten-Einstellungen-OSM Server
  2. Press button: Jetzt autorisieren (Manuell)
  3. Type or paste anything into the red field "Schlüssel der Zugriffskennung"

What is the expected result?

accepting the access token

What happens instead?

Exception

Please provide any additional information below. Attach a screenshot if possible.

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2024-06-03 18:08:14 +0200 (Mon, 03 Jun 2024)
Revision:19096
Build-Date:2024-06-04 01:31:15
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (19096 de) Linux Debian GNU/Linux 12 (bookworm)
Memory Usage: 400 MB / 10240 MB (239 MB allocated, but free)
Java version: 17.0.11+9-Debian-1deb12u1, Debian, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 1920×1080 (scaling 1.00×1.00) :0.1 2560×1440 (scaling 1.00×1.00)
Maximum Screen Size: 2560×1440
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: de_DE.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: de_DE
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: KDE
Java package: openjdk-17-jre:amd64-17.0.11+9-1~deb12u1
Java ATK Wrapper package: libatk-wrapper-java:all-0.40.0-3
fonts-noto: fonts-noto:all-20201225-1
VM arguments: [--module-path=/usr/share/openjfx/lib, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, -Djosm.restart=true, -Djava.net.useSystemProxies=true, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED]

Plugins:
+ ImageIO (36180)
+ ImportImagePlugin (36184)
+ RoadSigns (36258)
+ Tracks2Map (0.3.1)
+ apache-commons (36176)
+ ejml (36176)
+ geotools (36176)
+ jackson (36176)
+ jaxb (36118)
+ jts (36004)

Tagging presets:
+ https://github.com/simonpoole/beautified-JOSM-preset/releases/latest/download/josm.zip

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Waterways&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/HiDPISupport&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Potlatch2&zip=1

Last errors/warnings:
- 00009.884 W:  Power Portal: Could not get presets icon styles/standard/power/portal.svg
- 00009.891 E: Fehler beim Laden des Bildes ''
- 00009.891 W:  Connection: Could not get presets icon 
- 00009.892 E: Fehler beim Laden des Bildes 'styles/standard/power/insulator.svg'
- 00009.893 W:  Insulator: Could not get presets icon styles/standard/power/insulator.svg
- 00010.036 E: Fehler beim Laden des Bildes 'presets/boundaries.png'
- 00010.037 W:  Protected Area: Could not get presets icon presets/boundaries.png
- 00010.092 E: Fehler beim Laden des Bildes ''
- 00010.092 W: [RELATION] Site: Could not get presets icon 
- 00034.500 E: Handled by bug report queue: jakarta.json.stream.JsonParsingException: Unexpected char 120 at (line no=1, column no=39, offset=38)



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (22) of main
jakarta.json.stream.JsonParsingException: Unexpected char 120 at (line no=1, column no=39, offset=38)
	at org.eclipse.parsson.JsonTokenizer.unexpectedChar(JsonTokenizer.java:593)
	at org.eclipse.parsson.JsonTokenizer.nextToken(JsonTokenizer.java:395)
	at org.eclipse.parsson.JsonParserImpl$ObjectContext.getNextEvent(JsonParserImpl.java:517)
	at org.eclipse.parsson.JsonParserImpl.next(JsonParserImpl.java:360)
	at org.eclipse.parsson.JsonParserImpl.getObject(JsonParserImpl.java:324)
	at org.eclipse.parsson.JsonParserImpl.getObject(JsonParserImpl.java:146)
	at org.eclipse.parsson.JsonReaderImpl.read(JsonReaderImpl.java:67)
	at org.openstreetmap.josm.data.oauth.OAuth20Token.<init>(OAuth20Token.java:57)
	at org.openstreetmap.josm.data.oauth.OAuth20Token.<init>(OAuth20Token.java:51)
	at org.openstreetmap.josm.gui.oauth.ManualAuthorizationUI$AccessTokenBuilder.build(ManualAuthorizationUI.java:196)
	at org.openstreetmap.josm.gui.oauth.ManualAuthorizationUI$AccessTokenBuilder.insertUpdate(ManualAuthorizationUI.java:210)
	at java.desktop/javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:226)
	at java.desktop/javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:780)
	at java.desktop/javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:739)
	at java.desktop/javax.swing.text.PlainDocument.insertString(PlainDocument.java:131)
	at java.desktop/javax.swing.text.AbstractDocument.replace(AbstractDocument.java:698)
	at java.desktop/javax.swing.text.JTextComponent.replaceSelection(JTextComponent.java:1339)
	at java.desktop/javax.swing.text.DefaultEditorKit$DefaultKeyTypedAction.actionPerformed(DefaultEditorKit.java:884)
	at java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1810)
	at java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2947)
	at java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:2995)
	at java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2909)
	at java.desktop/java.awt.Component.processEvent(Component.java:6403)
	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
	at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1952)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:883)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1150)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1020)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:848)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4882)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117)
	at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
	at java.desktop/java.awt.Dialog.show(Dialog.java:1080)
	at java.desktop/java.awt.Component.show(Component.java:1728)
	at java.desktop/java.awt.Component.setVisible(Component.java:1675)
	at java.desktop/java.awt.Window.setVisible(Window.java:1036)
	at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1016)
	at org.openstreetmap.josm.gui.oauth.OAuthAuthorizationWizard.setVisible(OAuthAuthorizationWizard.java:353)
	at org.openstreetmap.josm.gui.oauth.OAuthAuthorizationWizard.showDialog(OAuthAuthorizationWizard.java:89)
	at org.openstreetmap.josm.gui.preferences.server.OAuthAuthenticationPreferencesPanel$AuthoriseNowAction.actionPerformed(OAuthAuthenticationPreferencesPanel.java:353)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
	at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
	at java.desktop/java.awt.Component.processEvent(Component.java:6391)
	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117)
	at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
	at java.desktop/java.awt.Dialog.show(Dialog.java:1080)
	at java.desktop/java.awt.Component.show(Component.java:1728)
	at java.desktop/java.awt.Component.setVisible(Component.java:1675)
	at java.desktop/java.awt.Window.setVisible(Window.java:1036)
	at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1016)
	at org.openstreetmap.josm.gui.preferences.PreferenceDialog.setVisible(PreferenceDialog.java:145)
	at org.openstreetmap.josm.actions.PreferencesAction.run(PreferencesAction.java:119)
	at org.openstreetmap.josm.actions.PreferencesAction.actionPerformed(PreferencesAction.java:104)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
	at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374)
	at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1028)
	at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1072)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
	at java.desktop/java.awt.Component.processEvent(Component.java:6391)
	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Attachments (0)

Change History (9)

comment:1 by taylor.smock, 3 weeks ago

Keywords: oauth2 added

I have no clue what server Bearbeiten-Einstellungen-OSM is.
With that said, I suspect that it uses an old version of the OSM server; we expect OSM servers to have RFC 8414 information (see https://www.openstreetmap.org/.well-known/oauth-authorization-server for an example). That endpoint was added fairly recently to the OSM website (in the past year, and I think in the past 6 months).
I bet that we are getting an error page, but I'm not 100% certain on that.

EDIT: Info I need: server URL.

Last edited 3 weeks ago by taylor.smock (previous) (diff)

comment:2 by taylor.smock, 3 weeks ago

Owner: changed from team to syncronic <wonic@…>
Status: newneedinfo

comment:3 by syncronic <wonic@…>, 3 weeks ago

It is the latest JOSM where the User/Password option is disabled. I mean the Menu Entry Edit|Options|OSM-Server where you find the button authorize(manual)

comment:4 by taylor.smock, 3 weeks ago

Oh. Sorry; I don't read/write other languages. I suspect if I did, I would have understood the problem the first time around instead of thinking you were referring to a different OSM server.

OK. I'll take a look into this. As a workaround, the automatic version should work.

comment:5 by syncronic <wonic@…>, 3 weeks ago

Unfortunately the automatic version doesnt work either. For this it is necessary to have a proper standard browser which is not the case (Konquerer). This was the reason I tried the manual authorize. Level0 editor is also down... I use another computer now with an older JOSM and OAuth2 via firefox as standard browser. This works flawlessly.

comment:6 by taylor.smock, 3 weeks ago

Milestone: 24.06

comment:7 by taylor.smock, 3 weeks ago

Resolution: fixed
Status: needinfoclosed

In 19099/josm:

Fix #23717: Manual OAuth 2 authorization was not working

comment:8 by taylor.smock, 3 weeks ago

In 19102/josm:

(The changeset message doesn't reference this ticket)

comment:9 by GerdP, 3 weeks ago

Typo in ticket number ;)

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain syncronic <wonic@…>.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.