-
Notifications
You must be signed in to change notification settings - Fork 411
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
Update the SSO Login for Serenity and Singularity server's player #2437
Conversation
Hey there., thanks for the PR! So, I have a lot of questions, and I'm relying on you as I don't have the ability to test myself since I do not have a Serenity account. :)
If you could annotate the various changes you've made to help me better understand the reasoning behind them, that would be great. again, I cannot test myself, and so I want to fully understand the decisions made before attempting to merge. Thanks for you assistance with this! :) |
First of all, I can provide my account for you to test.If you need it, please email me. I refer to the development documentation in Tranquility as well.
|
I have sent this Dev version to my company employees for testing, and everything works normally, which is the same as most alliance ESI authorization process |
@huangzheng2016 I've pushed a small fix where the client IDs were getting mixed up. I was able to successfully login using the credentials you provided - thank you for that. Seems to work as well. I'm going to evaluate it a little more closely since the oauth flow is a bit different from what I'm used to (refresh token available without any client secret?!). Additionally, I think it makes sense to store the server along with the ESI character, in case... people have accounts on multiple servers? /shrug Good work on this initial effort tho, works really well :) |
Thank you for the repair. I do think it will be possible to bind servers to ESI characters in the future. Serenity's oauth is difference from Tranquility, but I think this is the most convience ones that I have knew. |
I looked into adding the option to save the server with the character. The proper route would be a bit difficult, considering the ESI service, once initialized, uses whatever the settings have for the server at the time of initialization, and then it doesn't refresh them. To make API calls with respect to the characters server, we would have to make sure that ESI service is aware of that and re-initializes the data it needs for that specific server. This would require a bit of refactoring on that service to achieve that. I'm going to look more into it a bit in the next couple days. I do think that this is something we need to address now instead of in the future. I can envision folks having SISI characters and trying to update skills for that character, but the server selected is TQ, and it just gets confusing lol. |
Haha.I'm looking forward to your good news. |
I've updated the branch to support saving server alongside SSO character. I still need to force manual login type if using Serenity, since the server will not receive the callback. Additionally, I've disabled SISI option since apparently CCP got rid of SISI ESI a couple of years ago, so there's no point in allowing logins to it |
I've made various updates tot he SSO login in general, with it now accepting the manual token input regardless of if the server is turned on in the settings. Along with this was a slight rework of how exceptions are handled. There's an issue that I'm running into at the moment which has the whole program crash when exiting the preferences window. No idea what's going on there. |
When I have time, I will test why it will exit |
I cannot get the crash to happen anymore. Wondering if it was my settings getting corrupted as I was working on some things. Seems to work now. Gonna do a bit more testing, bu this is close to being ready. @huangzheng2016 would like you to follow up with some testing as well from your end :) |
I writed some notes about Serenity server OAuth : https://github.com/copyliu/esi-docs/blob/magic_serenity/docs/sso/web_based_sso_flow.md
there some security issue about code challenge/access token endpoint from CCP, these security issues was reported to CCP team years ago, as result, EVE SSO can return refresh token without code challenge AND client secret |
The thing is exactly as @copyliu said. |
@blitzmann fix the bug and work well but cached_session in esi.py |
e441347
to
ecf4d6c
Compare
new one #2590 |
I created a setting for the different servers


Now,Serenity and Singularity player can login from their own SSO system