Fix bug with missing & in authorization URL for OIDC
Also adds testing to ensure we don't break this again
This commit is contained in:
parent
4c0ab81ac8
commit
22a39c3007
8 changed files with 131 additions and 86 deletions
|
@ -1,3 +1,4 @@
|
|||
from oauth.base import OAuthEndpoint
|
||||
from oauth.login import OAuthLoginService
|
||||
|
||||
def _get_email_username(email_address):
|
||||
|
@ -28,13 +29,14 @@ class GoogleOAuthService(OAuthLoginService):
|
|||
return ['openid', 'email']
|
||||
|
||||
def authorize_endpoint(self):
|
||||
return 'https://accounts.google.com/o/oauth2/auth?response_type=code&'
|
||||
return OAuthEndpoint('https://accounts.google.com/o/oauth2/auth',
|
||||
params=dict(response_type='code'))
|
||||
|
||||
def token_endpoint(self):
|
||||
return 'https://accounts.google.com/o/oauth2/token'
|
||||
return OAuthEndpoint('https://accounts.google.com/o/oauth2/token')
|
||||
|
||||
def user_endpoint(self):
|
||||
return 'https://www.googleapis.com/oauth2/v1/userinfo'
|
||||
return OAuthEndpoint('https://www.googleapis.com/oauth2/v1/userinfo')
|
||||
|
||||
def requires_form_encoding(self):
|
||||
return True
|
||||
|
@ -59,7 +61,7 @@ class GoogleOAuthService(OAuthLoginService):
|
|||
def get_public_config(self):
|
||||
return {
|
||||
'CLIENT_ID': self.client_id(),
|
||||
'AUTHORIZE_ENDPOINT': self.authorize_endpoint()
|
||||
'AUTHORIZE_ENDPOINT': self.authorize_endpoint().to_url_prefix()
|
||||
}
|
||||
|
||||
def get_login_service_id(self, user_info):
|
||||
|
|
Reference in a new issue