diff --git a/djangosaml2idp/mxins/LoginRequiredMixin.py b/djangosaml2idp/mxins/LoginRequiredMixin.py index 247fec5fe..11eac326b 100644 --- a/djangosaml2idp/mxins/LoginRequiredMixin.py +++ b/djangosaml2idp/mxins/LoginRequiredMixin.py @@ -22,7 +22,7 @@ def dispatch(self, request, tenant_uuid, app_id, *args, **kwargs): return super().dispatch(request, tenant_uuid, app_id, *args, **kwargs) except Exception as err: # pylint: disable=broad-except logger.debug(err) - next = f"{get_app_config().get_host()}{request.path}?{'&'.join([f'{k}={request.GET[k]}'for k in request.GET.keys()])}" + next = f"{request.path}?{'&'.join([f'{k}={request.GET[k]}'for k in request.GET.keys()])}" if next.endswith("?"): # 如无参数 则去掉? diff --git a/djangosaml2idp/views/FakeLoginView.py b/djangosaml2idp/views/FakeLoginView.py index 0a143486f..ce59b0afd 100644 --- a/djangosaml2idp/views/FakeLoginView.py +++ b/djangosaml2idp/views/FakeLoginView.py @@ -21,10 +21,8 @@ def get(self, request, tenant_uuid, app_id): # pylint: disable=no-self-use next = request.GET.get("next",None) if request.GET.get("token",None): token = request.GET.get("token") - params=[f'{k}={request.GET[k]}' for k in request.GET.keys() if k != "token" ] return redirect(f"{next}&spauthn={token}") - params=[f'{k}={request.GET[k]}' for k in request.GET.keys() ] - login_url = f"{get_app_config().get_frontend_host()}/login?tenant={str(tenant_uuid).replace('-','')}&next={next}" + login_url = f"/login?tenant={str(tenant_uuid).replace('-','')}&next={next}" # login_url = urllib.parse.quote(login_url) return render(request, 'djangosaml2idp/fake_login.html', context={'login_url': login_url, "next": next}) diff --git a/extension_root/saml2idp/provider.py b/extension_root/saml2idp/provider.py index 66e087907..09752497b 100644 --- a/extension_root/saml2idp/provider.py +++ b/extension_root/saml2idp/provider.py @@ -100,10 +100,10 @@ def create(self, app: App, data: Dict) -> Dict: # pylint: disable=arguments-dif os.remove( BASEDIR + '/djangosaml2idp/saml2_config/sp_cert/%s.pem' % filename) - app.url = f'{get_app_config().get_host()}{reverse("api:saml2idp:saml_sso_hook",args=(app.tenant.uuid,app.id))}?spauthn='+'{token}' + app.url = f'{reverse("api:saml2idp:saml_sso_hook",args=(app.tenant.uuid,app.id))}?spauthn='+'{token}' if data.get("sso_url", None) in ["", None]: - data["sso_url"] = f'{get_app_config().get_host()}{reverse("api:saml2idp:sso_init",args=(app.tenant.uuid,app.id))}' + data["sso_url"] = f'{reverse("api:saml2idp:sso_init",args=(app.tenant.uuid,app.id))}' return data @@ -180,9 +180,9 @@ def update(self, app: App, data: Dict) -> Dict: # pylint: disable=arguments-dif os.remove( BASEDIR + '/djangosaml2idp/saml2_config/sp_cert/%s.pem' % filename) - app.url = f'{get_app_config().get_host()}{reverse("api:saml2idp:saml_sso_hook",args=(app.tenant.uuid,app.id))}?spauthn='+'{token}' + app.url = f'{reverse("api:saml2idp:saml_sso_hook",args=(app.tenant.uuid,app.id))}?spauthn='+'{token}' if data.get("sso_url", None) in ["", None]: - data["sso_url"] = f'{get_app_config().get_host()}{reverse("api:saml2idp:sso_init",args=(app.tenant.uuid,app.id))}' + data["sso_url"] = f'{reverse("api:saml2idp:sso_init",args=(app.tenant.uuid,app.id))}' return data def delete(self): diff --git a/extension_root/saml2idp_aliyun_ram/provider.py b/extension_root/saml2idp_aliyun_ram/provider.py index 66e087907..09752497b 100644 --- a/extension_root/saml2idp_aliyun_ram/provider.py +++ b/extension_root/saml2idp_aliyun_ram/provider.py @@ -100,10 +100,10 @@ def create(self, app: App, data: Dict) -> Dict: # pylint: disable=arguments-dif os.remove( BASEDIR + '/djangosaml2idp/saml2_config/sp_cert/%s.pem' % filename) - app.url = f'{get_app_config().get_host()}{reverse("api:saml2idp:saml_sso_hook",args=(app.tenant.uuid,app.id))}?spauthn='+'{token}' + app.url = f'{reverse("api:saml2idp:saml_sso_hook",args=(app.tenant.uuid,app.id))}?spauthn='+'{token}' if data.get("sso_url", None) in ["", None]: - data["sso_url"] = f'{get_app_config().get_host()}{reverse("api:saml2idp:sso_init",args=(app.tenant.uuid,app.id))}' + data["sso_url"] = f'{reverse("api:saml2idp:sso_init",args=(app.tenant.uuid,app.id))}' return data @@ -180,9 +180,9 @@ def update(self, app: App, data: Dict) -> Dict: # pylint: disable=arguments-dif os.remove( BASEDIR + '/djangosaml2idp/saml2_config/sp_cert/%s.pem' % filename) - app.url = f'{get_app_config().get_host()}{reverse("api:saml2idp:saml_sso_hook",args=(app.tenant.uuid,app.id))}?spauthn='+'{token}' + app.url = f'{reverse("api:saml2idp:saml_sso_hook",args=(app.tenant.uuid,app.id))}?spauthn='+'{token}' if data.get("sso_url", None) in ["", None]: - data["sso_url"] = f'{get_app_config().get_host()}{reverse("api:saml2idp:sso_init",args=(app.tenant.uuid,app.id))}' + data["sso_url"] = f'{reverse("api:saml2idp:sso_init",args=(app.tenant.uuid,app.id))}' return data def delete(self):