)]}'
{"keystonemiddleware/auth_token/__init__.py":[{"author":{"_account_id":15640,"name":"Roxana Gherle","email":"roxana.gherle@hpe.com","username":"roxana-gherle"},"change_message_id":"9819bceca1605f326cd5325b5e01d3c9afe88d42","unresolved":false,"context_lines":[{"line_number":732,"context_line":""},{"line_number":733,"context_line":"                if auth_ref is None:"},{"line_number":734,"context_line":"                    auth_ref \u003d self._identity_server.verify_token(token)"},{"line_number":735,"context_line":""},{"line_number":736,"context_line":"                if auth_ref:"},{"line_number":737,"context_line":"                    if auth_ref.version \u003d\u003d \u0027v2.0\u0027:"},{"line_number":738,"context_line":"                        data \u003d {\u0027access\u0027: auth_ref}"}],"source_content_type":"text/x-python","patch_set":3,"id":"1af86dd1_8c716be3","line":735,"updated":"2015-06-11 23:09:06.000000000","message":"Shouldn\u0027t this if block be indented more to the right, like in the version before refactoring? \nI see that the original code was running the if below only for the else branch and like this we override the variable \"data\" which is set to jsonutils.loads(verified) in the original code. I\u0027m just making sure this was on purpose.","commit_id":"08b515d8a4c4ef2d3c205a5f1b7aad84a8d490aa"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"6780db7d08b8bbdab803d81820bdccce98f93c47","unresolved":false,"context_lines":[{"line_number":732,"context_line":""},{"line_number":733,"context_line":"                if auth_ref is None:"},{"line_number":734,"context_line":"                    auth_ref \u003d self._identity_server.verify_token(token)"},{"line_number":735,"context_line":""},{"line_number":736,"context_line":"                if auth_ref:"},{"line_number":737,"context_line":"                    if auth_ref.version \u003d\u003d \u0027v2.0\u0027:"},{"line_number":738,"context_line":"                        data \u003d {\u0027access\u0027: auth_ref}"}],"source_content_type":"text/x-python","patch_set":3,"id":"1af86dd1_179c6468","line":735,"in_reply_to":"1af86dd1_57e41c0c","updated":"2015-06-11 23:22:49.000000000","message":"Also, this is something you could have tried yourself easily enough. Indenting the lines causes lots of tests to fail.","commit_id":"08b515d8a4c4ef2d3c205a5f1b7aad84a8d490aa"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f68fdfab9df2ef77a6985e1be1f7592ab0310c22","unresolved":false,"context_lines":[{"line_number":732,"context_line":""},{"line_number":733,"context_line":"                if auth_ref is None:"},{"line_number":734,"context_line":"                    auth_ref \u003d self._identity_server.verify_token(token)"},{"line_number":735,"context_line":""},{"line_number":736,"context_line":"                if auth_ref:"},{"line_number":737,"context_line":"                    if auth_ref.version \u003d\u003d \u0027v2.0\u0027:"},{"line_number":738,"context_line":"                        data \u003d {\u0027access\u0027: auth_ref}"}],"source_content_type":"text/x-python","patch_set":3,"id":"1af86dd1_57e41c0c","line":735,"in_reply_to":"1af86dd1_8c716be3","updated":"2015-06-11 23:21:05.000000000","message":"\"data\" always needs to be set, whether the auth_ref comes from offline validation or from online validation. \"data\" is returned by this method.\n\nLooking at this more closely, auth_ref can\u0027t be None here, because if it was then line 745 would fail, so I\u0027ll remove the check.","commit_id":"08b515d8a4c4ef2d3c205a5f1b7aad84a8d490aa"},{"author":{"_account_id":15640,"name":"Roxana Gherle","email":"roxana.gherle@hpe.com","username":"roxana-gherle"},"change_message_id":"8a5ba3cc6e08f8e342e988d531adfe80e4cba533","unresolved":false,"context_lines":[{"line_number":799,"context_line":"        data \u003d jsonutils.loads(verified)"},{"line_number":800,"context_line":"        auth_ref \u003d access.AccessInfo.factory(body\u003ddata,"},{"line_number":801,"context_line":"                                             auth_token\u003dtoken)"},{"line_number":802,"context_line":"        return auth_ref"},{"line_number":803,"context_line":""},{"line_number":804,"context_line":"    def _verify_signed_token(self, signed_text, token_ids):"},{"line_number":805,"context_line":"        \"\"\"Check that the token is unrevoked and has a valid signature.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"1af86dd1_ed09dd32","line":802,"updated":"2015-06-12 16:38:32.000000000","message":"My remark for the other patch was: shouldn\u0027t we return \"data\" as well here, rather then reconstructing it in the above function that you refactored (_validate_token).","commit_id":"d2dee2a65193ac77d43b010cbbcd9bfdd9f97383"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"894f98121e28f7320027a6ebf5c24f11541a934f","unresolved":false,"context_lines":[{"line_number":799,"context_line":"        data \u003d jsonutils.loads(verified)"},{"line_number":800,"context_line":"        auth_ref \u003d access.AccessInfo.factory(body\u003ddata,"},{"line_number":801,"context_line":"                                             auth_token\u003dtoken)"},{"line_number":802,"context_line":"        return auth_ref"},{"line_number":803,"context_line":""},{"line_number":804,"context_line":"    def _verify_signed_token(self, signed_text, token_ids):"},{"line_number":805,"context_line":"        \"\"\"Check that the token is unrevoked and has a valid signature.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_b0f8dd4a","line":802,"in_reply_to":"1af86dd1_ed09dd32","updated":"2015-06-16 00:16:28.000000000","message":"I\u0027ve got a change coming that makes it so the caller doesn\u0027t have to reconstruct data.","commit_id":"d2dee2a65193ac77d43b010cbbcd9bfdd9f97383"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"055daa4153b0ce87410ebd33bfa54e80df827044","unresolved":false,"context_lines":[{"line_number":731,"context_line":"    def _validate_offline(self, token, token_hashes):"},{"line_number":732,"context_line":"        try:"},{"line_number":733,"context_line":"            if cms.is_pkiz(token):"},{"line_number":734,"context_line":"                verified \u003d self._verify_pkiz_token(token, token_hashes)"},{"line_number":735,"context_line":"            elif cms.is_asn1_token(token):"},{"line_number":736,"context_line":"                verified \u003d self._verify_signed_token(token, token_hashes)"},{"line_number":737,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a41bdd9_a097388f","line":734,"updated":"2015-07-13 12:55:53.000000000","message":"Do you actually need to assign the return value to verified? In this new implementation it\u0027s no longer being used.","commit_id":"27564b078a41b6fdb1061f3cbe26f61d345eefbb"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2ed3ba3a51cc3bae2bd33d33b1d683a50c08fbf3","unresolved":false,"context_lines":[{"line_number":744,"context_line":"            self.log.warning(_LW(\u0027Fetch revocation list failed, \u0027"},{"line_number":745,"context_line":"                                 \u0027fallback to online validation.\u0027))"},{"line_number":746,"context_line":"        else:"},{"line_number":747,"context_line":"            data \u003d jsonutils.loads(verified)"},{"line_number":748,"context_line":"            return data"},{"line_number":749,"context_line":""},{"line_number":750,"context_line":"    def _validate_token(self, auth_ref):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a41bdd9_c06efc95","line":747,"updated":"2015-07-13 12:58:53.000000000","message":"David - verified is used here","commit_id":"27564b078a41b6fdb1061f3cbe26f61d345eefbb"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"f799009a1fa97db31ffb1458b3ae167d0e3a9589","unresolved":false,"context_lines":[{"line_number":744,"context_line":"            self.log.warning(_LW(\u0027Fetch revocation list failed, \u0027"},{"line_number":745,"context_line":"                                 \u0027fallback to online validation.\u0027))"},{"line_number":746,"context_line":"        else:"},{"line_number":747,"context_line":"            data \u003d jsonutils.loads(verified)"},{"line_number":748,"context_line":"            return data"},{"line_number":749,"context_line":""},{"line_number":750,"context_line":"    def _validate_token(self, auth_ref):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a41bdd9_20900843","line":747,"in_reply_to":"9a41bdd9_c06efc95","updated":"2015-07-13 13:00:14.000000000","message":"Ugg....sorry. My mental linter needs coffee.","commit_id":"27564b078a41b6fdb1061f3cbe26f61d345eefbb"}]}
