Skip to content

Commit f1c87ff

Browse files
andytzengJon Wayne Parrott
authored and
Jon Wayne Parrott
committed
Populate id_token into credentials from oauth2 session (googleapis#20)
* carry token expiry into Credentials object (googleapis#18) * populate id_token into credentials (googleapis#9)
1 parent f26bcba commit f1c87ff

File tree

3 files changed

+9
-0
lines changed

3 files changed

+9
-0
lines changed

google_auth_oauthlib/helpers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ def credentials_from_session(session, client_config=None):
132132
credentials = google.oauth2.credentials.Credentials(
133133
session.token['access_token'],
134134
refresh_token=session.token.get('refresh_token'),
135+
id_token=session.token.get('id_token'),
135136
token_uri=client_config.get('token_uri'),
136137
client_id=client_config.get('client_id'),
137138
client_secret=client_config.get('client_secret'),

tests/test_flow.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ def test_credentials(self, instance):
135135
instance.oauth2session.token = {
136136
'access_token': mock.sentinel.access_token,
137137
'refresh_token': mock.sentinel.refresh_token,
138+
'id_token': mock.sentinel.id_token,
138139
'expires_at': 643969200.0
139140
}
140141

@@ -143,6 +144,7 @@ def test_credentials(self, instance):
143144
assert credentials.token == mock.sentinel.access_token
144145
assert credentials.expiry == datetime.datetime(1990, 5, 29, 8, 20, 0)
145146
assert credentials._refresh_token == mock.sentinel.refresh_token
147+
assert credentials.id_token == mock.sentinel.id_token
146148
assert (credentials._client_id ==
147149
CLIENT_SECRETS_INFO['web']['client_id'])
148150
assert (credentials._client_secret ==
@@ -154,6 +156,7 @@ def test_authorized_session(self, instance):
154156
instance.oauth2session.token = {
155157
'access_token': mock.sentinel.access_token,
156158
'refresh_token': mock.sentinel.refresh_token,
159+
'id_token': mock.sentinel.id_token,
157160
'expires_at': 643969200.0
158161
}
159162

@@ -177,6 +180,7 @@ def set_token(*args, **kwargs):
177180
instance.oauth2session.token = {
178181
'access_token': mock.sentinel.access_token,
179182
'refresh_token': mock.sentinel.refresh_token,
183+
'id_token': mock.sentinel.id_token,
180184
'expires_at': 643969200.0
181185
}
182186

@@ -195,6 +199,7 @@ def test_run_console(self, input_mock, instance, mock_fetch_token):
195199

196200
assert credentials.token == mock.sentinel.access_token
197201
assert credentials._refresh_token == mock.sentinel.refresh_token
202+
assert credentials.id_token == mock.sentinel.id_token
198203

199204
mock_fetch_token.assert_called_with(
200205
CLIENT_SECRETS_INFO['web']['token_uri'],
@@ -223,6 +228,7 @@ def test_run_local_server(
223228

224229
assert credentials.token == mock.sentinel.access_token
225230
assert credentials._refresh_token == mock.sentinel.refresh_token
231+
assert credentials.id_token == mock.sentinel.id_token
226232
assert webbrowser_mock.open.called
227233

228234
expected_auth_response = auth_redirect_url.replace('http', 'https')

tests/test_helpers.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ def test_credentials_from_session(session):
7575
session.token = {
7676
'access_token': mock.sentinel.access_token,
7777
'refresh_token': mock.sentinel.refresh_token,
78+
'id_token': mock.sentinel.id_token,
7879
'expires_at': 643969200.0
7980
}
8081

@@ -84,6 +85,7 @@ def test_credentials_from_session(session):
8485
assert credentials.token == mock.sentinel.access_token
8586
assert credentials.expiry == datetime.datetime(1990, 5, 29, 8, 20, 0)
8687
assert credentials._refresh_token == mock.sentinel.refresh_token
88+
assert credentials.id_token == mock.sentinel.id_token
8789
assert credentials._client_id == CLIENT_SECRETS_INFO['web']['client_id']
8890
assert (credentials._client_secret ==
8991
CLIENT_SECRETS_INFO['web']['client_secret'])

0 commit comments

Comments
 (0)