diff --git a/google_auth_oauthlib/helpers.py b/google_auth_oauthlib/helpers.py index 7bade82..19c34b6 100644 --- a/google_auth_oauthlib/helpers.py +++ b/google_auth_oauthlib/helpers.py @@ -132,6 +132,7 @@ def credentials_from_session(session, client_config=None): credentials = google.oauth2.credentials.Credentials( session.token['access_token'], refresh_token=session.token.get('refresh_token'), + id_token=session.token.get('id_token'), token_uri=client_config.get('token_uri'), client_id=client_config.get('client_id'), client_secret=client_config.get('client_secret'), diff --git a/tests/test_flow.py b/tests/test_flow.py index 52752c1..3379140 100644 --- a/tests/test_flow.py +++ b/tests/test_flow.py @@ -135,6 +135,7 @@ def test_credentials(self, instance): instance.oauth2session.token = { 'access_token': mock.sentinel.access_token, 'refresh_token': mock.sentinel.refresh_token, + 'id_token': mock.sentinel.id_token, 'expires_at': 643969200.0 } @@ -143,6 +144,7 @@ def test_credentials(self, instance): assert credentials.token == mock.sentinel.access_token assert credentials.expiry == datetime.datetime(1990, 5, 29, 8, 20, 0) assert credentials._refresh_token == mock.sentinel.refresh_token + assert credentials.id_token == mock.sentinel.id_token assert (credentials._client_id == CLIENT_SECRETS_INFO['web']['client_id']) assert (credentials._client_secret == @@ -154,6 +156,7 @@ def test_authorized_session(self, instance): instance.oauth2session.token = { 'access_token': mock.sentinel.access_token, 'refresh_token': mock.sentinel.refresh_token, + 'id_token': mock.sentinel.id_token, 'expires_at': 643969200.0 } @@ -177,6 +180,7 @@ def set_token(*args, **kwargs): instance.oauth2session.token = { 'access_token': mock.sentinel.access_token, 'refresh_token': mock.sentinel.refresh_token, + 'id_token': mock.sentinel.id_token, 'expires_at': 643969200.0 } @@ -195,6 +199,7 @@ def test_run_console(self, input_mock, instance, mock_fetch_token): assert credentials.token == mock.sentinel.access_token assert credentials._refresh_token == mock.sentinel.refresh_token + assert credentials.id_token == mock.sentinel.id_token mock_fetch_token.assert_called_with( CLIENT_SECRETS_INFO['web']['token_uri'], @@ -223,6 +228,7 @@ def test_run_local_server( assert credentials.token == mock.sentinel.access_token assert credentials._refresh_token == mock.sentinel.refresh_token + assert credentials.id_token == mock.sentinel.id_token assert webbrowser_mock.open.called expected_auth_response = auth_redirect_url.replace('http', 'https') diff --git a/tests/test_helpers.py b/tests/test_helpers.py index ce61bd5..ffcec29 100644 --- a/tests/test_helpers.py +++ b/tests/test_helpers.py @@ -75,6 +75,7 @@ def test_credentials_from_session(session): session.token = { 'access_token': mock.sentinel.access_token, 'refresh_token': mock.sentinel.refresh_token, + 'id_token': mock.sentinel.id_token, 'expires_at': 643969200.0 } @@ -84,6 +85,7 @@ def test_credentials_from_session(session): assert credentials.token == mock.sentinel.access_token assert credentials.expiry == datetime.datetime(1990, 5, 29, 8, 20, 0) assert credentials._refresh_token == mock.sentinel.refresh_token + assert credentials.id_token == mock.sentinel.id_token assert credentials._client_id == CLIENT_SECRETS_INFO['web']['client_id'] assert (credentials._client_secret == CLIENT_SECRETS_INFO['web']['client_secret'])