summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Huot <jonathan.huot@thomsonreuters.com>2019-02-25 21:34:48 +0100
committerJonathan Huot <jonathan.huot@thomsonreuters.com>2019-07-04 11:17:19 +0200
commit2d9a89c23d0e0088ac84606e28be51f59f9fa12c (patch)
tree4260b87e83dfa165e8d6dfb4bfc1f4ca6ca1386e
parentad7b15428bde9eaa55bbc0ca0ce338342740a7c9 (diff)
downloadoauthlib-2d9a89c23d0e0088ac84606e28be51f59f9fa12c.tar.gz
Add nonce mandatory check for "id_token" response_type
-rw-r--r--tests/openid/connect/core/grant_types/test_implicit.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/openid/connect/core/grant_types/test_implicit.py b/tests/openid/connect/core/grant_types/test_implicit.py
index 54fd8b9..948edd3 100644
--- a/tests/openid/connect/core/grant_types/test_implicit.py
+++ b/tests/openid/connect/core/grant_types/test_implicit.py
@@ -113,6 +113,27 @@ class OpenIDImplicitTest(TestCase):
self.assertEqual(s, 302)
+class OpenIDImplicitNoAccessTokenTest(OpenIDImplicitTest):
+ def setUp(self):
+ super(OpenIDImplicitNoAccessTokenTest, self).setUp()
+ self.request.response_type = 'id_token'
+ token = 'MOCKED_TOKEN'
+ self.url_query = 'https://a.b/cb?state=abc&id_token=%s' % token
+ self.url_fragment = 'https://a.b/cb#state=abc&id_token=%s' % token
+
+ @mock.patch('oauthlib.common.generate_token')
+ def test_required_nonce(self, generate_token):
+ generate_token.return_value = 'abc'
+ self.request.nonce = None
+ self.assertRaises(errors.InvalidRequestError, self.auth.validate_authorization_request, self.request)
+
+ bearer = BearerToken(self.mock_validator)
+ h, b, s = self.auth.create_authorization_response(self.request, bearer)
+ self.assertIn('error=invalid_request', h['Location'])
+ self.assertEqual(b, None)
+ self.assertEqual(s, 302)
+
+
class OpenIDHybridCodeTokenTest(OpenIDAuthCodeTest):
def setUp(self):