Page MenuHomePhabricator

Huggle3 getting "WrongToken" response to authentication attempt against MW 1.27.0-wmf.13
Closed, ResolvedPublic

Description

Reported on #huggle freenode channel.

[20:15:03] <Oshwah> Hmm anyone getting WrongToken auth errors from api.php when trying to login/use Huggle?
[20:15:09] <Oshwah> I'm getting it every time now.
[21:24:52] <galar71> Hi...I've got a login issue with Huggle 3.1.18... Worked earlier today, and I've never seen it before
[21:25:51] <galar71> Is anyone possibly available to provide some ideas/feedback?

Timing coincides with MW 1.27.0-wmf.13 being deployed to Wikipedias.

Event Timeline

bd808 raised the priority of this task from to High.
bd808 updated the task description. (Show Details)
bd808 subscribed.

22:06:04] <petan> bd808: <?xml version="1.0"?><api><warnings><login xml:space="preserve">Fetching a token via action=login is deprecated. Use action=query&meta=tokens&type=login instead.</login></warnings><login
[22:06:04] <petan> result="NeedToken" token="48efa0573d1ac9eaa4541743b24089d856bd0200+\" cookieprefix="nowiki" sessionid="8r7sck1dp9pf56jd34drtmes9l18d0sv" /></api> 4 OUT secret 4 IN <?xml version="1.0"?><api><login
[22:06:05] <petan> result="WrongToken" /></ap

Without the actual HTTP requests and responses (including headers) for those two API responses, there's not much we can do to debug here.

I note the warning received there is harmless, AnomieBOT's logging in still works fine despite it.

This needs a fix inside of huggle core, unfortunatelly I have no idea what has changed, or rather, what I need to change.

What is current API flow in order to login user Bob with password micro-robot?

So far we did a first API request just with luser=Bob which gave us token, then we did second request with luser=Bob and lpassword=micro-robot and ltoken=<token from previous> which now clearly is wrong.

What is a right way to do that?

Unfortunately I can't provide http headers right now, but I can give you contents of requests. I will give you headers later. This is full traffic dump from start of program until error:

1 OUT https://meta.wikimedia.org/w/api.php?action=query&prop=revisions&rvprop=content&rvlimit=1&titles=Huggle/Config&rawcontinue=1&format=xml
1 IN <?xml version="1.0"?><api><query-continue><revisions rvcontinue="20150618093052|12459511" /></query-continue><query><pages><page _idx="141171" pageid="141171" ns="0" title="Huggle/Config"><revisions><rev contentformat="text/x-wiki" contentmodel="wikitext" xml:space="preserve">{{Huggle/Header}} 
This is the global configuration page for [[w:WP:Huggle|HG]]. Settings here apply to all projects; each project also has its own configuration page with project-specific settings. See [[mw:Manual:Huggle/Configuration]] for explanation.

&lt;pre&gt;
enable-all:true

version:2.1.26
min-version:0.9.11

config:Project:Huggle/Config
documentation:https://www.mediawiki.org/wiki/Manual:Huggle
feedback:https://en.wikipedia.org/wiki/Wikipedia:Huggle/Feedback
irc-server:irc.wikimedia.org
irc-server-name:irc.pmtpa.wikimedia.org


projects:
    bg.wikipedia;http://bg.wikipedia.org/,
    bn.wikipedia;http://bn.wikipedia.org/,
    ca.wikipedia;http://ca.wikipedia.org/,
    de.wikipedia;http://de.wikipedia.org/,
    el.wikipedia;http://el.wikipedia.org/,
    en.wikipedia;http://en.wikipedia.org/,
    es.wikipedia;http://es.wikipedia.org/,                                                                                                                                          
    fr.wikipedia;http://fr.wikipedia.org/,                                                                                                                                          
    ja.wikipedia;http://ja.wikipedia.org/,                                                                                                                                          
    nl.wikipedia;http://nl.wikipedia.org/,                                                                                                                                          
    no.wikipedia;http://no.wikipedia.org/,                                                                                                                                          
    hi.wikipedia;http://hi.wikipedia.org/,                                                                                                                                          
    or.wikipedia;http://or.wikipedia.org/,                                                                                                                                          
    pl.wikipedia;http://pl.wikipedia.org/,                                                                                                                                          
    pt.wikipedia;http://pt.wikipedia.org/,                                                                                                                                          
    ru.wikipedia;http://ru.wikipedia.org/,                                                                                                                                          
    sv.wikipedia;http://sv.wikipedia.org/,                                                                                                                                          
    te.wikipedia;http://te.wikipedia.org/,                                                                                                                                          
    tr.wikipedia;http://tr.wikipedia.org/,                                                                                                                                          
    zh.wikipedia;http://zh.wikipedia.org/,                                                                                                                                          
    fa.wikipedia;http://fa.wikipedia.org/,                                                                                                                                          
    vi.wikipedia;http://vi.wikipedia.org/,                                                                                                                                          
    km.wikipedia;http://km.wikipedia.org/,                                                                                                                                          
    ar.wikipedia;http://ar.wikipedia.org/,                                                                                                                                          
    es.wikivoyage;http://es.wikivoyage.org/,
    simple.wikipedia;http://simple.wikipedia.org/,
    commons;http://commons.wikimedia.org/,
    test wiki;http://test.wikipedia.org/,
    wikidata;http://www.wikidata.org/,
   
sensitive-addresses:
    143\.2(28|31)\.\d{1,3}\.\d{1,3};U.S. House of Representatives,
    82\.148\.96\.68|82\.148\.97\.69;Qatar,
    156\.33\.\d{1,3}\.\d{1,3};U.S. Senate,
    192\.197\.(7[789]|8[0123456]).\d{1,3};Government of Canada,
    194\.60\.1?\d.\d{1,3};U.K. Parliament,
    66\.230\.(19[23456789]|2[0123]\d).\d{1,3};Wikimedia secure gateway,
    91\.198\.174\.(19[23456789]|2([01]\d|2[0123]));Wikimedia Toolserver

user-agent:Huggle/$1 http://en.wikipedia.org/wiki/Wikipedia:Huggle
user-config:Special:Mypage/huggle.css
user-config-hg3:Special:Mypage/huggle3.css

whitelist-server:http://huggle.tm-irc.org/wl/
testwiki:http://huggle.wmflabs.org/
&lt;/pre&gt;
[[Category:Huggle]]</rev></revisions></page></pages></query></api>
2 OUT secret
2 IN <?xml version="1.0"?><api><warnings><login xml:space="preserve">Fetching a token via action=login is deprecated. Use action=query&amp;meta=tokens&amp;type=login instead.</login></warnings><login result="NeedToken" token="5592322d599daa645d137a41fa8978d456bd0976+\" cookieprefix="enwiki" sessionid="mebb7k6r9m3th5q7g35jdnsbtkgvbs5l" /></api>
4 OUT secret
4 IN <?xml version="1.0"?><api><login result="WrongToken" /></api>

Of course, one query is purposefuly not in debug output, the one with password, that's done by huggle :/ I could change the code so that it's visible but I think it wouldn't be useful without headers anyway.

So far we did a first API request just with luser=Bob which gave us token, then we did second request with luser=Bob and lpassword=micro-robot and ltoken=<token from previous> which now clearly is wrong.

Not wrong, that works fine. I just tested it with my own bot code (and my own account).

The alternative to avoid the harmless warning is to get the token from action=query&meta=tokens&type=login instead.

I think that it's clear where the problem is, huggle tried to get token using login query without password (which used to work in past). The reponse say this method is deprecated but return some token anyway:

<login result="NeedToken" token="5592322d599daa645d137a41fa8978d456bd0976+\"

Huggle takes this and try to login with this token anyway, which results in:

<login result="WrongToken" />

The problem is obvious, but solution is not to me. What is correct way to login these days??

So far we did a first API request just with luser=Bob which gave us token, then we did second request with luser=Bob and lpassword=micro-robot and ltoken=<token from previous> which now clearly is wrong.

Not wrong, that works fine. I just tested it with my own bot code (and my own account).

The alternative to avoid the harmless warning is to get the token from action=query&meta=tokens&type=login instead.

hmm, in that case I will try to get the dump with headers and we need to investigate this deeper.

The timing here is better aligned with the SessionManager code hitting Wikipedias.

Here is version with headers:

1 OUT https://meta.wikimedia.org/w/api.php?action=query&prop=revisions&rvprop=content&rvlimit=1&titles=Huggle/Config&rawcontinue=1&format=xml
1 IN HEADERS:
Server: nginx/1.9.4
Date: Thu, 11 Feb 2016 22:35:43 GMT
Content-Type: text/xml; charset=utf-8
Connection: keep-alive
X-Powered-By: HHVM/3.6.5
X-Content-Type-Options: nosniff
Cache-control: private, must-revalidate, max-age=0
X-Frame-Options: DENY
Vary: Accept-Encoding,X-Forwarded-Proto,Cookie,Authorization
Content-Encoding: gzip
Backend-Timing: D=40984 t=1455230143203027
X-Varnish: 1792282992, 2409307761, 4050376149
Via: 1.1 varnish, 1.1 varnish, 1.1 varnish
Accept-Ranges: bytes
Age: 0
X-Cache: cp1052 miss+chfp(0), cp3014 miss+chfp(0), cp3031 frontend miss+chfp(0)
Strict-Transport-Security: max-age=31536000
X-Analytics: https=1;nocookies=1
X-Client-IP: 89.177.100.4
Set-Cookie: WMF-Last-Access=11-Feb-2016;Path=/;HttpOnly;Expires=Mon, 14 Mar 2016 12:00:00 GMT
GeoIP=CZ:52:Prague:50.08:14.47:v4; Path=/; Domain=.wikimedia.org


DATA:
<?xml version="1.0"?><api><query-continue><revisions rvcontinue="20150618093052|12459511" /></query-continue><query><pages><page _idx="141171" pageid="141171" ns="0" title="Huggle/Config"><revisions><rev contentformat="text/x-wiki" contentmodel="wikitext" xml:space="preserve">{{Huggle/Header}} 
This is the global configuration page for [[w:WP:Huggle|HG]]. Settings here apply to all projects; each project also has its own configuration page with project-specific settings. See [[mw:Manual:Huggle/Configuration]] for explanation.

&lt;pre&gt;
enable-all:true

version:2.1.26
min-version:0.9.11

config:Project:Huggle/Config
documentation:https://www.mediawiki.org/wiki/Manual:Huggle
feedback:https://en.wikipedia.org/wiki/Wikipedia:Huggle/Feedback
irc-server:irc.wikimedia.org
irc-server-name:irc.pmtpa.wikimedia.org


projects:
    bg.wikipedia;http://bg.wikipedia.org/,
    bn.wikipedia;http://bn.wikipedia.org/,
    ca.wikipedia;http://ca.wikipedia.org/,
    de.wikipedia;http://de.wikipedia.org/,
    el.wikipedia;http://el.wikipedia.org/,
    en.wikipedia;http://en.wikipedia.org/,
    es.wikipedia;http://es.wikipedia.org/,
    fr.wikipedia;http://fr.wikipedia.org/,
    ja.wikipedia;http://ja.wikipedia.org/,
    nl.wikipedia;http://nl.wikipedia.org/,
    no.wikipedia;http://no.wikipedia.org/,
    hi.wikipedia;http://hi.wikipedia.org/,
    or.wikipedia;http://or.wikipedia.org/,
    pl.wikipedia;http://pl.wikipedia.org/,
    pt.wikipedia;http://pt.wikipedia.org/,
    ru.wikipedia;http://ru.wikipedia.org/,
    sv.wikipedia;http://sv.wikipedia.org/,
    te.wikipedia;http://te.wikipedia.org/,
    tr.wikipedia;http://tr.wikipedia.org/,
    zh.wikipedia;http://zh.wikipedia.org/,
    fa.wikipedia;http://fa.wikipedia.org/,
    vi.wikipedia;http://vi.wikipedia.org/,
    km.wikipedia;http://km.wikipedia.org/,
    ar.wikipedia;http://ar.wikipedia.org/,
    es.wikivoyage;http://es.wikivoyage.org/,
    simple.wikipedia;http://simple.wikipedia.org/,
    commons;http://commons.wikimedia.org/,
    test wiki;http://test.wikipedia.org/,
    wikidata;http://www.wikidata.org/,
   
sensitive-addresses:
    143\.2(28|31)\.\d{1,3}\.\d{1,3};U.S. House of Representatives,
    82\.148\.96\.68|82\.148\.97\.69;Qatar,
    156\.33\.\d{1,3}\.\d{1,3};U.S. Senate,
    192\.197\.(7[789]|8[0123456]).\d{1,3};Government of Canada,
    194\.60\.1?\d.\d{1,3};U.K. Parliament,
    66\.230\.(19[23456789]|2[0123]\d).\d{1,3};Wikimedia secure gateway,
    91\.198\.174\.(19[23456789]|2([01]\d|2[0123]));Wikimedia Toolserver

user-agent:Huggle/$1 http://en.wikipedia.org/wiki/Wikipedia:Huggle
user-config:Special:Mypage/huggle.css
user-config-hg3:Special:Mypage/huggle3.css

whitelist-server:http://huggle.tm-irc.org/wl/
testwiki:http://huggle.wmflabs.org/
&lt;/pre&gt;
[[Category:Huggle]]</rev></revisions></page></pages></query></api>
2 OUT secret
2 IN HEADERS:
Server: nginx/1.9.4
Date: Thu, 11 Feb 2016 22:35:43 GMT
Content-Type: text/xml; charset=utf-8
Connection: keep-alive
X-Powered-By: HHVM/3.6.5
X-Content-Type-Options: nosniff
Cache-control: private, must-revalidate, max-age=0
P3P: CP="This is not a P3P policy! See https://en.wikipedia.org/wiki/Special:CentralAutoLogin/P3P for more info."
Content-Encoding: gzip
X-Frame-Options: SAMEORIGIN
Vary: Accept-Encoding
Backend-Timing: D=61185 t=1455230143691270
X-Varnish: 1942833621, 2409308718, 4050378123
Via: 1.1 varnish, 1.1 varnish, 1.1 varnish
Accept-Ranges: bytes
Age: 0
X-Cache: cp1068 pass+chfp(0), cp3014 pass+chfp(0), cp3031 frontend pass+chfp(0)
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
X-Analytics: https=1;nocookies=1
X-Client-IP: 89.177.100.4
Set-Cookie: enwikiSession=v33g2kbjg3pdnd1f2h61e48jlb3oem14; path=/; secure; httponly
forceHTTPS=true; path=/; httponly
WMF-Last-Access=11-Feb-2016;Path=/;HttpOnly;Expires=Mon, 14 Mar 2016 12:00:00 GMT
GeoIP=CZ:52:Prague:50.08:14.47:v4; Path=/; Domain=.wikipedia.org


DATA:
<?xml version="1.0"?><api><warnings><login xml:space="preserve">Fetching a token via action=login is deprecated. Use action=query&amp;meta=tokens&amp;type=login instead.</login></warnings><login result="NeedToken" token="48d2c987b5104af65b22a0734384c58156bd0cbf+\" cookieprefix="enwiki" sessionid="v33g2kbjg3pdnd1f2h61e48jlb3oem14" /></api>
4 OUT secret
4 IN HEADERS:
Server: nginx/1.9.4
Date: Thu, 11 Feb 2016 22:35:44 GMT
Content-Type: text/xml; charset=utf-8
Connection: keep-alive
X-Powered-By: HHVM/3.6.5
X-Content-Type-Options: nosniff
Cache-control: private, must-revalidate, max-age=0
X-Frame-Options: SAMEORIGIN
Content-Encoding: gzip
Vary: Accept-Encoding
Backend-Timing: D=38731 t=1455230144202312
X-Varnish: 1792285717, 1854220458, 4050379680
Via: 1.1 varnish, 1.1 varnish, 1.1 varnish
Accept-Ranges: bytes
Age: 0
X-Cache: cp1052 pass+chfp(0), cp3031 pass+chfp(0), cp3031 frontend pass+chfp(0)
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
X-Analytics: WMF-Last-Access=11-Feb-2016;https=1
X-Client-IP: 89.177.100.4


DATA:
<?xml version="1.0"?><api><login result="WrongToken" /></api>

I totally forgot to add headers for OUT requests, here they are:

1 OUT https://meta.wikimedia.org/w/api.php?action=query&prop=revisions&rvprop=content&rvlimit=1&titles=Huggle/Config&rawcontinue=1&format=xml
HEADERS:

1 IN HEADERS:
Server: nginx/1.9.4
Date: Thu, 11 Feb 2016 22:41:26 GMT
Content-Type: text/xml; charset=utf-8
Connection: keep-alive
X-Powered-By: HHVM/3.6.5
X-Content-Type-Options: nosniff
Cache-control: private, must-revalidate, max-age=0
X-Frame-Options: DENY
Vary: Accept-Encoding,X-Forwarded-Proto,Cookie,Authorization
Content-Encoding: gzip
Backend-Timing: D=64433 t=1455230486403565
X-Varnish: 1793260131, 2627267599, 4051912947
Via: 1.1 varnish, 1.1 varnish, 1.1 varnish
Accept-Ranges: bytes
Age: 0
X-Cache: cp1052 pass+chfp(0), cp3007 miss+chfp(0), cp3031 frontend pass+chfp(0)
Strict-Transport-Security: max-age=31536000
X-Analytics: https=1;nocookies=1
X-Client-IP: 89.177.100.4
Set-Cookie: WMF-Last-Access=11-Feb-2016;Path=/;HttpOnly;Expires=Mon, 14 Mar 2016 12:00:00 GMT
GeoIP=CZ:52:Prague:50.08:14.47:v4; Path=/; Domain=.wikimedia.org


DATA:
<?xml version="1.0"?><api><query-continue><revisions rvcontinue="20150618093052|12459511" /></query-continue><query><pages><page _idx="141171" pageid="141171" ns="0" title="Huggle/Config"><revisions><rev contentformat="text/x-wiki" contentmodel="wikitext" xml:space="preserve">{{Huggle/Header}} 
This is the global configuration page for [[w:WP:Huggle|HG]]. Settings here apply to all projects; each project also has its own configuration page with project-specific settings. See [[mw:Manual:Huggle/Configuration]] for explanation.

&lt;pre&gt;
enable-all:true

version:2.1.26
min-version:0.9.11

config:Project:Huggle/Config
documentation:https://www.mediawiki.org/wiki/Manual:Huggle
feedback:https://en.wikipedia.org/wiki/Wikipedia:Huggle/Feedback
irc-server:irc.wikimedia.org
irc-server-name:irc.pmtpa.wikimedia.org


projects:
    bg.wikipedia;http://bg.wikipedia.org/,
    bn.wikipedia;http://bn.wikipedia.org/,
    ca.wikipedia;http://ca.wikipedia.org/,
    de.wikipedia;http://de.wikipedia.org/,
    el.wikipedia;http://el.wikipedia.org/,
    en.wikipedia;http://en.wikipedia.org/,
    es.wikipedia;http://es.wikipedia.org/,
    fr.wikipedia;http://fr.wikipedia.org/,
    ja.wikipedia;http://ja.wikipedia.org/,
    nl.wikipedia;http://nl.wikipedia.org/,
    no.wikipedia;http://no.wikipedia.org/,
    hi.wikipedia;http://hi.wikipedia.org/,
    or.wikipedia;http://or.wikipedia.org/,
    pl.wikipedia;http://pl.wikipedia.org/,
    pt.wikipedia;http://pt.wikipedia.org/,
    ru.wikipedia;http://ru.wikipedia.org/,
    sv.wikipedia;http://sv.wikipedia.org/,
    te.wikipedia;http://te.wikipedia.org/,
    tr.wikipedia;http://tr.wikipedia.org/,
    zh.wikipedia;http://zh.wikipedia.org/,
    fa.wikipedia;http://fa.wikipedia.org/,
    vi.wikipedia;http://vi.wikipedia.org/,
    km.wikipedia;http://km.wikipedia.org/,
    ar.wikipedia;http://ar.wikipedia.org/,
    es.wikivoyage;http://es.wikivoyage.org/,
    simple.wikipedia;http://simple.wikipedia.org/,
    commons;http://commons.wikimedia.org/,
    test wiki;http://test.wikipedia.org/,
    wikidata;http://www.wikidata.org/,
   
sensitive-addresses:
    143\.2(28|31)\.\d{1,3}\.\d{1,3};U.S. House of Representatives,
    82\.148\.96\.68|82\.148\.97\.69;Qatar,
    156\.33\.\d{1,3}\.\d{1,3};U.S. Senate,
    192\.197\.(7[789]|8[0123456]).\d{1,3};Government of Canada,
    194\.60\.1?\d.\d{1,3};U.K. Parliament,
    66\.230\.(19[23456789]|2[0123]\d).\d{1,3};Wikimedia secure gateway,
    91\.198\.174\.(19[23456789]|2([01]\d|2[0123]));Wikimedia Toolserver

user-agent:Huggle/$1 http://en.wikipedia.org/wiki/Wikipedia:Huggle
user-config:Special:Mypage/huggle.css
user-config-hg3:Special:Mypage/huggle3.css

whitelist-server:http://huggle.tm-irc.org/wl/
testwiki:http://huggle.wmflabs.org/
&lt;/pre&gt;
[[Category:Huggle]]</rev></revisions></page></pages></query></api>
2 OUT HEADERS:
User-Agent: Huggle/Petrb http://en.wikipedia.org/wiki/Wikipedia:Huggle
Content-Type: application/x-www-form-urlencoded


DATA: (secret)
2 IN HEADERS:
Server: nginx/1.9.4
Date: Thu, 11 Feb 2016 22:41:26 GMT
Content-Type: text/xml; charset=utf-8
Connection: keep-alive
X-Powered-By: HHVM/3.6.5
X-Content-Type-Options: nosniff
Cache-control: private, must-revalidate, max-age=0
P3P: CP="This is not a P3P policy! See https://en.wikipedia.org/wiki/Special:CentralAutoLogin/P3P for more info."
Content-Encoding: gzip
X-Frame-Options: SAMEORIGIN
Vary: Accept-Encoding
Backend-Timing: D=54993 t=1455230486847574
X-Varnish: 1562910659, 3050416486, 4051914275
Via: 1.1 varnish, 1.1 varnish, 1.1 varnish
Accept-Ranges: bytes
Age: 0
X-Cache: cp1055 pass+chfp(0), cp3009 pass+chfp(0), cp3031 frontend pass+chfp(0)
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
X-Analytics: https=1;nocookies=1
X-Client-IP: 89.177.100.4
Set-Cookie: enwikiSession=kt65rtg224lfqm6q9hq9qqgdajrubrom; path=/; secure; httponly
forceHTTPS=true; path=/; httponly
WMF-Last-Access=11-Feb-2016;Path=/;HttpOnly;Expires=Mon, 14 Mar 2016 12:00:00 GMT
GeoIP=CZ:52:Prague:50.08:14.47:v4; Path=/; Domain=.wikipedia.org


DATA:
<?xml version="1.0"?><api><warnings><login xml:space="preserve">Fetching a token via action=login is deprecated. Use action=query&amp;meta=tokens&amp;type=login instead.</login></warnings><login result="NeedToken" token="35f9ff96cbda1d451c242d76be4775d156bd0e16+\" cookieprefix="enwiki" sessionid="kt65rtg224lfqm6q9hq9qqgdajrubrom" /></api>
4 OUT HEADERS:
User-Agent: Huggle/Petrb http://en.wikipedia.org/wiki/Wikipedia:Huggle
Content-Type: application/x-www-form-urlencoded


DATA: (secret)
4 IN HEADERS:
Server: nginx/1.9.4
Date: Thu, 11 Feb 2016 22:41:27 GMT
Content-Type: text/xml; charset=utf-8
Connection: keep-alive
X-Powered-By: HHVM/3.6.5
X-Content-Type-Options: nosniff
Cache-control: private, must-revalidate, max-age=0
X-Frame-Options: SAMEORIGIN
Content-Encoding: gzip
Vary: Accept-Encoding
Backend-Timing: D=38817 t=1455230487088169
X-Varnish: 686901485, 1474482817, 4051914954
Via: 1.1 varnish, 1.1 varnish, 1.1 varnish
Accept-Ranges: bytes
Age: 0
X-Cache: cp1066 pass+chfp(0), cp3040 pass+chfp(0), cp3031 frontend pass+chfp(0)
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
X-Analytics: WMF-Last-Access=11-Feb-2016;https=1
X-Client-IP: 89.177.100.4


DATA:
<?xml version="1.0"?><api><login result="WrongToken" /></api>

Your problem is at https://github.com/huggle/huggle3-qt-lx/blob/e18fcdf/huggle/login.cpp#L477, you need to urlencode the token since it now contains a "+" character.

Proposed fix at https://github.com/huggle/huggle3-qt-lx/pull/172. This change make logging in with a local build work for me.

Proposed fix at https://github.com/huggle/huggle3-qt-lx/pull/172. This change make logging in with a local build work for me.

PR 172 has been merged and is included in the new v3.1.19 release.

bd808 claimed this task.