perf: 优化oauth2的服务地址参数拼接

pull/9267/head
halo 2022-12-13 21:57:17 +08:00 committed by Jiangjie.Bai
parent 29fd6ee8c9
commit cb8dc6c583
2 changed files with 18 additions and 5 deletions

View File

@ -90,8 +90,12 @@ class OAuth2Backend(JMSModelBackend):
request, path=reverse(settings.AUTH_OAUTH2_AUTH_LOGIN_CALLBACK_URL_NAME) request, path=reverse(settings.AUTH_OAUTH2_AUTH_LOGIN_CALLBACK_URL_NAME)
) )
} }
access_token_url = '{url}?{query}'.format( if '?' in settings.AUTH_OAUTH2_ACCESS_TOKEN_ENDPOINT:
url=settings.AUTH_OAUTH2_ACCESS_TOKEN_ENDPOINT, query=urlencode(query_dict) separator = '&'
else:
separator = '?'
access_token_url = '{url}{separator}{query}'.format(
url=settings.AUTH_OAUTH2_ACCESS_TOKEN_ENDPOINT, separator=separator, query=urlencode(query_dict)
) )
token_method = settings.AUTH_OAUTH2_ACCESS_TOKEN_METHOD.lower() token_method = settings.AUTH_OAUTH2_ACCESS_TOKEN_METHOD.lower()
requests_func = getattr(requests, token_method, requests.get) requests_func = getattr(requests, token_method, requests.get)
@ -118,8 +122,12 @@ class OAuth2Backend(JMSModelBackend):
} }
logger.debug(log_prompt.format('Get userinfo endpoint')) logger.debug(log_prompt.format('Get userinfo endpoint'))
userinfo_url = '{url}?{query}'.format( if '?' in settings.AUTH_OAUTH2_PROVIDER_USERINFO_ENDPOINT:
url=settings.AUTH_OAUTH2_PROVIDER_USERINFO_ENDPOINT, separator = '&'
else:
separator = '?'
userinfo_url = '{url}{separator}{query}'.format(
url=settings.AUTH_OAUTH2_PROVIDER_USERINFO_ENDPOINT, separator=separator,
query=urlencode(query_dict) query=urlencode(query_dict)
) )
userinfo_response = requests.get(userinfo_url, headers=headers) userinfo_response = requests.get(userinfo_url, headers=headers)

View File

@ -26,8 +26,13 @@ class OAuth2AuthRequestView(View):
) )
} }
redirect_url = '{url}?{query}'.format( if '?' in settings.AUTH_OAUTH2_PROVIDER_AUTHORIZATION_ENDPOINT:
separator = '&'
else:
separator = '?'
redirect_url = '{url}{separator}{query}'.format(
url=settings.AUTH_OAUTH2_PROVIDER_AUTHORIZATION_ENDPOINT, url=settings.AUTH_OAUTH2_PROVIDER_AUTHORIZATION_ENDPOINT,
separator=separator,
query=urlencode(query_dict) query=urlencode(query_dict)
) )
logger.debug(log_prompt.format('Redirect login url')) logger.debug(log_prompt.format('Redirect login url'))