-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't log in via GitHub using IDN. #122
Comments
Just to confirm, I tried passing the Unicode domain to curl command line and it uses the punycode hostname in the headers. The error message reported by indelogin looks a bit cooked so it may not accurately reflect what's being sent out to the server. I don't know. |
A consequence of this bug is that if I want indielogin to work via GitHub then I must modify my GitHub page to show my website in its punycode form, shown above, rather than in its native character set. If my GitHub page shows the URL in its native character set (as I would much prefer!) then indielogin requires me to use the same native character set to log in, but it does not support IDN necessary to implement those character sets (this bug!) and so it fails before getting anywhere. That's pretty typical of the broader web, only supporting a basic English alphabet, and the usual workaround is to enter the punycode directly into the URL box for indielogin. Unfortunately indielogin still fails because it can't do a string match against the URL on GitHub. The ultimate workaround is to change the GitHub page to show the punycode URL, which is ugly and it's only necessary to make indielogin work. There's a fix in there somewhere; either identifying the punycode string from the GitHub API (probably easier but requires the site owner to use punycode as their login id) or converting international alphabet input into punycode when validating the domain (might be tricky, but is nicer if it works). |
It looks like I'll need to add punycode parsing to the verification step. Seems doable but annoying 😅 |
I feel guilty for causing trouble, but at the same time the reality is that when I chose my domain name it really was a political act of defiance; to deliberately break things and push back against systems which required compromise and workarounds from non-English speakers. That and the English name for the same tree was already registered. |
I get an error saying there was a 404 when I enter my hostname in Unicode. I guess that might imply that name resolution succeeded but the server received a GET which it expected to be puny-coded and it actually got the raw Unicode and failed to recognise them as the same thing.
I don't seem to have this problem when I use curl on my local system. I assume the server is behaving as it should. I can't see the whole error message in the indielogin error page, so I can't dig much further into that.
If I enter the punycode domain name then it succeeds in getting the page but then follows that back to GitHub to validate the link but it cannot match the Unicode reference on GitHub with the punycode string I used to log in.
Unicode: https://www.tīkōuka.dev/
Punycode: https://www.xn--tkuka-m3a3v.dev/
The text was updated successfully, but these errors were encountered: