Add default for OAuth 2.0 parameter access_type of offline.
Reviewed in http://codereview.appspot.com/5316073/.
This commit is contained in:
@@ -641,7 +641,10 @@ class OAuth2WebServerFlow(Flow):
|
|||||||
self.user_agent = user_agent
|
self.user_agent = user_agent
|
||||||
self.auth_uri = auth_uri
|
self.auth_uri = auth_uri
|
||||||
self.token_uri = token_uri
|
self.token_uri = token_uri
|
||||||
self.params = kwargs
|
self.params = {
|
||||||
|
'access_type': 'offline',
|
||||||
|
}
|
||||||
|
self.params.update(kwargs)
|
||||||
self.redirect_uri = None
|
self.redirect_uri = None
|
||||||
|
|
||||||
def step1_get_authorize_url(self, redirect_uri='oob'):
|
def step1_get_authorize_url(self, redirect_uri='oob'):
|
||||||
|
|||||||
@@ -191,6 +191,26 @@ class OAuth2WebServerFlowTest(unittest.TestCase):
|
|||||||
self.assertEqual(q['response_type'][0], 'code')
|
self.assertEqual(q['response_type'][0], 'code')
|
||||||
self.assertEqual(q['scope'][0], 'foo')
|
self.assertEqual(q['scope'][0], 'foo')
|
||||||
self.assertEqual(q['redirect_uri'][0], 'oob')
|
self.assertEqual(q['redirect_uri'][0], 'oob')
|
||||||
|
self.assertEqual(q['access_type'][0], 'offline')
|
||||||
|
|
||||||
|
def test_override_flow_access_type(self):
|
||||||
|
"""Passing access_type overrides the default."""
|
||||||
|
flow = OAuth2WebServerFlow(
|
||||||
|
client_id='client_id+1',
|
||||||
|
client_secret='secret+1',
|
||||||
|
scope='foo',
|
||||||
|
user_agent='unittest-sample/1.0',
|
||||||
|
access_type='online'
|
||||||
|
)
|
||||||
|
authorize_url = flow.step1_get_authorize_url('oob')
|
||||||
|
|
||||||
|
parsed = urlparse.urlparse(authorize_url)
|
||||||
|
q = parse_qs(parsed[4])
|
||||||
|
self.assertEqual(q['client_id'][0], 'client_id+1')
|
||||||
|
self.assertEqual(q['response_type'][0], 'code')
|
||||||
|
self.assertEqual(q['scope'][0], 'foo')
|
||||||
|
self.assertEqual(q['redirect_uri'][0], 'oob')
|
||||||
|
self.assertEqual(q['access_type'][0], 'online')
|
||||||
|
|
||||||
def test_exchange_failure(self):
|
def test_exchange_failure(self):
|
||||||
http = HttpMockSequence([
|
http = HttpMockSequence([
|
||||||
|
|||||||
Reference in New Issue
Block a user