From 2a94dcebf8159cf00072e2b8e8b9597d6a7af454 Mon Sep 17 00:00:00 2001 From: blitzmann Date: Tue, 19 Oct 2021 00:15:10 -0400 Subject: [PATCH] Remove various preferences related to SSO, move callback to config --- config.py | 1 + .../pyfaEsiPreferences.py | 131 +----------------- service/esi.py | 4 +- service/esiAccess.py | 2 +- 4 files changed, 7 insertions(+), 131 deletions(-) diff --git a/config.py b/config.py index c4fdc4674..0e2690be9 100644 --- a/config.py +++ b/config.py @@ -45,6 +45,7 @@ language = None API_CLIENT_ID = '095d8cd841ac40b581330919b49fe746' ESI_CACHE = 'esi_cache' +SSO_CALLBACK = 'http://127.0.0.1:5500/callback.html' LOGLEVEL_MAP = { "critical": CRITICAL, diff --git a/gui/builtinPreferenceViews/pyfaEsiPreferences.py b/gui/builtinPreferenceViews/pyfaEsiPreferences.py index 9f81d65f9..7e6ea0551 100644 --- a/gui/builtinPreferenceViews/pyfaEsiPreferences.py +++ b/gui/builtinPreferenceViews/pyfaEsiPreferences.py @@ -37,118 +37,19 @@ class PFEsiPref(PreferenceView): rbSizer = wx.BoxSizer(wx.HORIZONTAL) self.rbMode = wx.RadioBox(panel, -1, _t("Login Authentication Method"), wx.DefaultPosition, wx.DefaultSize, [_t('Local Server'), _t('Manual')], 1, wx.RA_SPECIFY_COLS) - self.rbMode.SetItemToolTip(0, _t("This options starts a local webserver that the web application will call back to" + self.rbMode.SetItemToolTip(0, _t("This options starts a local webserver that EVE SSO Server will call back to" " with information about the character login.")) - self.rbMode.SetItemToolTip(1, _t("This option prompts users to copy and paste information from the web application " - "to allow for character login. Use this if having issues with the local server.")) - - self.rbSsoMode = wx.RadioBox(panel, -1, _t("SSO Mode"), wx.DefaultPosition, wx.DefaultSize, - [_t('pyfa.io'), _t('Custom application')], 1, wx.RA_SPECIFY_COLS) - self.rbSsoMode.SetItemToolTip(0, _t("This options routes SSO Logins through pyfa.io, allowing you to easily login " - "without any configuration. When in doubt, use this option.")) - self.rbSsoMode.SetItemToolTip(1, _t("This option goes through EVE SSO directly, but requires more configuration. Use " - "this if pyfa.io is blocked for some reason, or if you do not wish to route data throguh pyfa.io.")) + self.rbMode.SetItemToolTip(1, _t("This option prompts users to copy and paste information to allow for" + " character login. Use this if having issues with the local server.")) self.rbMode.SetSelection(self.settings.get('loginMode')) - self.rbSsoMode.SetSelection(self.settings.get('ssoMode')) - rbSizer.Add(self.rbSsoMode, 1, wx.ALL, 5) rbSizer.Add(self.rbMode, 1, wx.TOP | wx.RIGHT, 5) self.rbMode.Bind(wx.EVT_RADIOBOX, self.OnModeChange) - self.rbSsoMode.Bind(wx.EVT_RADIOBOX, self.OnSSOChange) mainSizer.Add(rbSizer, 1, wx.ALL | wx.EXPAND, 0) - detailsTitle = wx.StaticText(panel, wx.ID_ANY, _t("Custom Application"), wx.DefaultPosition, wx.DefaultSize, 0) - detailsTitle.Wrap(-1) - detailsTitle.SetFont(wx.Font(12, 70, 90, 90, False, wx.EmptyString)) - - mainSizer.Add(detailsTitle, 0, wx.ALL, 5) - mainSizer.Add(wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL), 0, - wx.EXPAND, 5) - - fgAddrSizer = wx.FlexGridSizer(2, 2, 0, 0) - fgAddrSizer.AddGrowableCol(1) - fgAddrSizer.SetFlexibleDirection(wx.BOTH) - fgAddrSizer.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) - - self.stSetID = wx.StaticText(panel, wx.ID_ANY, _t("Client ID:"), wx.DefaultPosition, wx.DefaultSize, 0) - self.stSetID.Wrap(-1) - fgAddrSizer.Add(self.stSetID, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) - - self.inputClientID = wx.TextCtrl(panel, wx.ID_ANY, self.settings.get('clientID'), wx.DefaultPosition, - wx.DefaultSize, 0) - - fgAddrSizer.Add(self.inputClientID, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 5) - - self.stSetSecret = wx.StaticText(panel, wx.ID_ANY, _t("Client Secret:"), wx.DefaultPosition, wx.DefaultSize, 0) - self.stSetSecret.Wrap(-1) - - fgAddrSizer.Add(self.stSetSecret, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) - - self.inputClientSecret = wx.TextCtrl(panel, wx.ID_ANY, self.settings.get('clientSecret'), wx.DefaultPosition, - wx.DefaultSize, 0) - - fgAddrSizer.Add(self.inputClientSecret, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 5) - - self.inputClientID.Bind(wx.EVT_TEXT, self.OnClientDetailChange) - self.inputClientSecret.Bind(wx.EVT_TEXT, self.OnClientDetailChange) - - mainSizer.Add(fgAddrSizer, 0, wx.EXPAND, 5) - - # self.stTimout = wx.StaticText(panel, wx.ID_ANY, "Timeout (seconds):", wx.DefaultPosition, wx.DefaultSize, 0) - # self.stTimout.Wrap(-1) - # - # timeoutSizer.Add(self.stTimout, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) - - # self.intTimeout = IntCtrl(panel, max=300000, limited=True, value=self.settings.get('timeout')) - # timeoutSizer.Add(self.intTimeout, 0, wx.ALL, 5) - # self.intTimeout.Bind(wx.lib.intctrl.EVT_INT, self.OnTimeoutChange) - # - # mainSizer.Add(timeoutSizer, 0, wx.ALL | wx.EXPAND, 0) - - # detailsTitle = wx.StaticText(panel, wx.ID_ANY, "CREST client details", wx.DefaultPosition, wx.DefaultSize, 0) - # detailsTitle.Wrap(-1) - # detailsTitle.SetFont(wx.Font(12, 70, 90, 90, False, wx.EmptyString)) - # - # mainSizer.Add(detailsTitle, 0, wx.ALL, 5) - # mainSizer.Add(wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL), 0, - # wx.EXPAND, 5) - - # fgAddrSizer = wx.FlexGridSizer(2, 2, 0, 0) - # fgAddrSizer.AddGrowableCol(1) - # fgAddrSizer.SetFlexibleDirection(wx.BOTH) - # fgAddrSizer.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) - # - # self.stSetID = wx.StaticText(panel, wx.ID_ANY, "Client ID:", wx.DefaultPosition, wx.DefaultSize, 0) - # self.stSetID.Wrap(-1) - # fgAddrSizer.Add(self.stSetID, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) - # - # self.inputClientID = wx.TextCtrl(panel, wx.ID_ANY, self.settings.get('clientID'), wx.DefaultPosition, - # wx.DefaultSize, 0) - # - # fgAddrSizer.Add(self.inputClientID, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 5) - # - # self.stSetSecret = wx.StaticText(panel, wx.ID_ANY, "Client Secret:", wx.DefaultPosition, wx.DefaultSize, 0) - # self.stSetSecret.Wrap(-1) - # - # fgAddrSizer.Add(self.stSetSecret, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) - # - # self.inputClientSecret = wx.TextCtrl(panel, wx.ID_ANY, self.settings.get('clientSecret'), wx.DefaultPosition, - # wx.DefaultSize, 0) - # - # fgAddrSizer.Add(self.inputClientSecret, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 5) - # - # self.btnApply = wx.Button(panel, wx.ID_ANY, "Save Client Settings", wx.DefaultPosition, wx.DefaultSize, 0) - # self.btnApply.Bind(wx.EVT_BUTTON, self.OnBtnApply) - # - # mainSizer.Add(fgAddrSizer, 0, wx.EXPAND, 5) - # mainSizer.Add(self.btnApply, 0, wx.ALIGN_RIGHT, 5) - - # self.ToggleProxySettings(self.settings.get('loginMode')) - - self.ToggleSSOMode(self.settings.get('ssoMode')) panel.SetSizer(mainSizer) panel.Layout() @@ -158,32 +59,6 @@ class PFEsiPref(PreferenceView): def OnModeChange(self, event): self.settings.set('loginMode', event.GetInt()) - def OnSSOChange(self, event): - self.settings.set('ssoMode', event.GetInt()) - self.ToggleSSOMode(event.GetInt()) - - def ToggleSSOMode(self, mode): - if mode: - self.stSetID.Enable() - self.inputClientID.Enable() - self.stSetSecret.Enable() - self.inputClientSecret.Enable() - self.rbMode.Disable() - else: - self.stSetID.Disable() - self.inputClientID.Disable() - self.stSetSecret.Disable() - self.inputClientSecret.Disable() - self.rbMode.Enable() - - def OnClientDetailChange(self, evt): - self.settings.set('clientID', self.inputClientID.GetValue().strip()) - self.settings.set('clientSecret', self.inputClientSecret.GetValue().strip()) - - # sEsi = Esi.getInstance() - # sEsi.delAllCharacters() - # - def getImage(self): return BitmapLoader.getBitmap("eve", "gui") diff --git a/service/esi.py b/service/esi.py index 8d449e690..3fb38ac03 100644 --- a/service/esi.py +++ b/service/esi.py @@ -102,8 +102,8 @@ class Esi(EsiAccess): def login(self): # always start the local server if user is using client details. Otherwise, start only if they choose to do so. - if self.settings.get('ssoMode') == EsiSsoMode.CUSTOM or self.settings.get('loginMode') == EsiLoginMethod.SERVER: - with gui.ssoLogin.SsoLoginServer(6461 if self.settings.get('ssoMode') == EsiSsoMode.CUSTOM else 0) as dlg: + if self.settings.get('loginMode') == EsiLoginMethod.SERVER: + with gui.ssoLogin.SsoLoginServer(0) as dlg: dlg.ShowModal() else: with gui.ssoLogin.SsoLogin() as dlg: diff --git a/service/esiAccess.py b/service/esiAccess.py index 5ebdced7b..0a53c6de5 100644 --- a/service/esiAccess.py +++ b/service/esiAccess.py @@ -144,7 +144,7 @@ class EsiAccess: args = { 'response_type': 'code', - 'redirect_uri': 'http://127.0.0.1:5500/callback.html', + 'redirect_uri': config.SSO_CALLBACK, 'client_id': self.client_id, 'scope': ' '.join(scopes), 'code_challenge': code_challenge,