)]}'
{"keystonemiddleware/auth_token/__init__.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"192a71d79ef5fd353b0f5886816640a5bb5f773f","unresolved":false,"context_lines":[{"line_number":770,"context_line":"                    expires \u003d _get_token_expiration(data)"},{"line_number":771,"context_line":"                    _confirm_token_not_expired(expires)"},{"line_number":772,"context_line":"                else:"},{"line_number":773,"context_line":"                    access_info \u003d self._identity_server.verify_token(token)"},{"line_number":774,"context_line":"                    if access_info:"},{"line_number":775,"context_line":"                        if access_info.version \u003d\u003d \u0027v2.0\u0027:"},{"line_number":776,"context_line":"                            data \u003d {\u0027access\u0027: access_info}"}],"source_content_type":"text/x-python","patch_set":6,"id":"3acd31a7_95a91ae2","line":773,"updated":"2015-05-04 01:49:09.000000000","message":"by convention we\u0027ve always called this auth_ref - i don\u0027t know why.","commit_id":"ce67f96a18f769f5e59a0836eb5e8c3ed81f0c60"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8af105685375472e3b2d8fb42af804ac10c05cf","unresolved":false,"context_lines":[{"line_number":770,"context_line":"                    expires \u003d _get_token_expiration(data)"},{"line_number":771,"context_line":"                    _confirm_token_not_expired(expires)"},{"line_number":772,"context_line":"                else:"},{"line_number":773,"context_line":"                    access_info \u003d self._identity_server.verify_token(token)"},{"line_number":774,"context_line":"                    if access_info:"},{"line_number":775,"context_line":"                        if access_info.version \u003d\u003d \u0027v2.0\u0027:"},{"line_number":776,"context_line":"                            data \u003d {\u0027access\u0027: access_info}"}],"source_content_type":"text/x-python","patch_set":6,"id":"3acd31a7_750af422","line":773,"in_reply_to":"3acd31a7_95a91ae2","updated":"2015-05-04 12:48:52.000000000","message":"Done","commit_id":"ce67f96a18f769f5e59a0836eb5e8c3ed81f0c60"},{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"7a3e0e5d137367591ad6fe9add7a72699cd73a6b","unresolved":false,"context_lines":[{"line_number":774,"context_line":"                    if auth_ref:"},{"line_number":775,"context_line":"                        if auth_ref.version \u003d\u003d \u0027v2.0\u0027:"},{"line_number":776,"context_line":"                            data \u003d {\u0027access\u0027: auth_ref}"},{"line_number":777,"context_line":"                        else:  # it\u0027s v3."},{"line_number":778,"context_line":"                            data \u003d {\u0027token\u0027: auth_ref}"},{"line_number":779,"context_line":"                    else:"},{"line_number":780,"context_line":"                        data \u003d None"}],"source_content_type":"text/x-python","patch_set":7,"id":"3acd31a7_9593504f","line":777,"updated":"2015-05-04 13:11:19.000000000","message":"The logic here should be the same as in _get_strategy_class [1], where we check for \u0027v3\u0027, otherwise we assume v2.\n\nIn this case, if we get an unknown version (e.g v4), there we decide to get v2 and then pick  _V2RequestStrategy, and here it will be packed with {\u0027token\u0027: ...}\n\nAlso, shouldn\u0027t we be checking using discover.version_match(), as we are doing there?\n\n[1] https://github.com/openstack/keystonemiddleware/blob/master/keystonemiddleware/auth_token/_identity.py#L134-L142","commit_id":"1a5c93495bec21e4d52ea4e8f7140efb7aa6e8c9"},{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"143bc3732daaf600b7a7889f31286680295d0bf4","unresolved":false,"context_lines":[{"line_number":774,"context_line":"                    if auth_ref:"},{"line_number":775,"context_line":"                        if auth_ref.version \u003d\u003d \u0027v2.0\u0027:"},{"line_number":776,"context_line":"                            data \u003d {\u0027access\u0027: auth_ref}"},{"line_number":777,"context_line":"                        else:  # it\u0027s v3."},{"line_number":778,"context_line":"                            data \u003d {\u0027token\u0027: auth_ref}"},{"line_number":779,"context_line":"                    else:"},{"line_number":780,"context_line":"                        data \u003d None"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aca2d91_6b9cb769","line":777,"in_reply_to":"3acd31a7_1df062c8","updated":"2015-05-06 11:29:20.000000000","message":"Nice, so this version is in the token returned after even using that request strategy.\nThen if we have decided for v2 there (with an unknown version for example), we will match v2.0 here (since it is the default there).\n\nThanks for clarifying.","commit_id":"1a5c93495bec21e4d52ea4e8f7140efb7aa6e8c9"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"d02720f666dfc402631d60727bb4fb0e2227ff30","unresolved":false,"context_lines":[{"line_number":774,"context_line":"                    if auth_ref:"},{"line_number":775,"context_line":"                        if auth_ref.version \u003d\u003d \u0027v2.0\u0027:"},{"line_number":776,"context_line":"                            data \u003d {\u0027access\u0027: auth_ref}"},{"line_number":777,"context_line":"                        else:  # it\u0027s v3."},{"line_number":778,"context_line":"                            data \u003d {\u0027token\u0027: auth_ref}"},{"line_number":779,"context_line":"                    else:"},{"line_number":780,"context_line":"                        data \u003d None"}],"source_content_type":"text/x-python","patch_set":7,"id":"3acd31a7_1df062c8","line":777,"in_reply_to":"3acd31a7_9593504f","updated":"2015-05-05 12:54:14.000000000","message":"This is the token version not the version as returned from version discovery.","commit_id":"1a5c93495bec21e4d52ea4e8f7140efb7aa6e8c9"}],"keystonemiddleware/auth_token/_identity.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"192a71d79ef5fd353b0f5886816640a5bb5f773f","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            user_token,"},{"line_number":70,"context_line":"            include_catalog\u003dself._include_service_catalog)"},{"line_number":71,"context_line":"        data \u003d {\u0027token\u0027: token}"},{"line_number":72,"context_line":"        return data"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def fetch_cert_file(self, cert_type):"},{"line_number":75,"context_line":"        if cert_type \u003d\u003d \u0027ca\u0027:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3acd31a7_7598bec0","side":"PARENT","line":72,"updated":"2015-05-04 01:49:09.000000000","message":"i think i like this way better as you always know the type of data you will retrieve from a v3 verify call. Otherwise we need to check the type again on the validate side.","commit_id":"f45d7663f38bde35abfa223d185b6a4d5029c308"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8af105685375472e3b2d8fb42af804ac10c05cf","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            user_token,"},{"line_number":70,"context_line":"            include_catalog\u003dself._include_service_catalog)"},{"line_number":71,"context_line":"        data \u003d {\u0027token\u0027: token}"},{"line_number":72,"context_line":"        return data"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def fetch_cert_file(self, cert_type):"},{"line_number":75,"context_line":"        if cert_type \u003d\u003d \u0027ca\u0027:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3acd31a7_35159c3f","side":"PARENT","line":72,"in_reply_to":"3acd31a7_7598bec0","updated":"2015-05-04 12:48:52.000000000","message":"The type is always AccessInfo.","commit_id":"f45d7663f38bde35abfa223d185b6a4d5029c308"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"192a71d79ef5fd353b0f5886816640a5bb5f773f","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"        \"\"\""},{"line_number":168,"context_line":"        try:"},{"line_number":169,"context_line":"            access_info \u003d self._request_strategy.verify_token(user_token)"},{"line_number":170,"context_line":"        except exceptions.NotFound as e:"},{"line_number":171,"context_line":"            self._LOG.warn(_LW(\u0027Authorization failed for token\u0027))"},{"line_number":172,"context_line":"            self._LOG.warn(_LW(\u0027Identity response: %s\u0027), e.response.text)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3acd31a7_75b1de46","line":169,"updated":"2015-05-04 01:49:09.000000000","message":"auth_ref","commit_id":"ce67f96a18f769f5e59a0836eb5e8c3ed81f0c60"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a8af105685375472e3b2d8fb42af804ac10c05cf","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"        \"\"\""},{"line_number":168,"context_line":"        try:"},{"line_number":169,"context_line":"            access_info \u003d self._request_strategy.verify_token(user_token)"},{"line_number":170,"context_line":"        except exceptions.NotFound as e:"},{"line_number":171,"context_line":"            self._LOG.warn(_LW(\u0027Authorization failed for token\u0027))"},{"line_number":172,"context_line":"            self._LOG.warn(_LW(\u0027Identity response: %s\u0027), e.response.text)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3acd31a7_353c7cc7","line":169,"in_reply_to":"3acd31a7_75b1de46","updated":"2015-05-04 12:48:52.000000000","message":"Done","commit_id":"ce67f96a18f769f5e59a0836eb5e8c3ed81f0c60"}]}
