mirror of
https://github.com/pretix/pretix.git
synced 2025-12-12 04:42:28 +00:00
Compare commits
6 Commits
checkinrul
...
oidc_query
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
39115152a6 | ||
|
|
7ce790dbb9 | ||
|
|
9a4a0df625 | ||
|
|
a8376b9a79 | ||
|
|
b21041a833 | ||
|
|
e8a716273e |
@@ -24,7 +24,7 @@ import hashlib
|
|||||||
import logging
|
import logging
|
||||||
import time
|
import time
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from urllib.parse import urlencode, urljoin
|
from urllib.parse import parse_qsl, urlencode, urljoin
|
||||||
|
|
||||||
import jwt
|
import jwt
|
||||||
import requests
|
import requests
|
||||||
@@ -139,6 +139,11 @@ def oidc_validate_and_complete_config(config):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if "query_parameters" in config and config["query_parameters"]:
|
||||||
|
config["query_parameters"] = urlencode(
|
||||||
|
parse_qsl(config["query_parameters"])
|
||||||
|
)
|
||||||
|
|
||||||
config['provider_config'] = provider_config
|
config['provider_config'] = provider_config
|
||||||
return config
|
return config
|
||||||
|
|
||||||
@@ -154,6 +159,10 @@ def oidc_authorize_url(provider, state, redirect_uri):
|
|||||||
'state': state,
|
'state': state,
|
||||||
'redirect_uri': redirect_uri,
|
'redirect_uri': redirect_uri,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if "query_parameters" in provider.configuration and provider.configuration["query_parameters"]:
|
||||||
|
params.update(parse_qsl(provider.configuration["query_parameters"]))
|
||||||
|
|
||||||
return endpoint + '?' + urlencode(params)
|
return endpoint + '?' + urlencode(params)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1043,6 +1043,15 @@ class SSOProviderForm(I18nModelForm):
|
|||||||
label=pgettext_lazy('sso_oidc', 'Phone field'),
|
label=pgettext_lazy('sso_oidc', 'Phone field'),
|
||||||
required=False,
|
required=False,
|
||||||
)
|
)
|
||||||
|
config_oidc_query_parameters = forms.CharField(
|
||||||
|
label=pgettext_lazy('sso_oidc', 'Query parameters'),
|
||||||
|
help_text=pgettext_lazy('sso_oidc', 'Optional query parameters, that will be added to calls to '
|
||||||
|
'the authorization endpoint. Enter as: {example}'.format(
|
||||||
|
example='<code>param1=value1&param2=value2</code>'
|
||||||
|
),
|
||||||
|
),
|
||||||
|
required=False,
|
||||||
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = CustomerSSOProvider
|
model = CustomerSSOProvider
|
||||||
|
|||||||
Reference in New Issue
Block a user