)]}'
{"keystoneauth1/identity/v3/__init__.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"ca7836cb00fb09ad6f20e2bc4b9daded0545ba96","unresolved":false,"context_lines":[{"line_number":30,"context_line":"           \u0027Password\u0027,"},{"line_number":31,"context_line":"           \u0027PasswordMethod\u0027,"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"           \u0027Token\u0027,"},{"line_number":34,"context_line":"           \u0027TokenMethod\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_ec427767","line":33,"updated":"2015-09-18 05:30:46.000000000","message":"add the oidc plugins by name here if you want it to work this way.","commit_id":"c25bf0246545d2b98e6ea6953c9d667272fbd674"}],"keystoneauth1/identity/v3/oidc.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"383155e67cfe8b31ddcbf21d0ab0161c6780920f","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"        \"\"\""},{"line_number":150,"context_line":"        super(OidcPassword, self).__init__(auth_url, identity_provider,"},{"line_number":151,"context_line":"                                           protocol, client_id, client_secret,"},{"line_number":152,"context_line":"                                           access_token_endpoint, grant_type)"},{"line_number":153,"context_line":"        self.username \u003d username"},{"line_number":154,"context_line":"        self.password \u003d password"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_cea76aa5","line":151,"updated":"2015-09-18 04:40:26.000000000","message":"it\u0027s going to fail positional() passing so many of these.","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"383155e67cfe8b31ddcbf21d0ab0161c6780920f","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    @username.setter"},{"line_number":162,"context_line":"    def username(self, value):"},{"line_number":163,"context_line":"        self.username \u003d value"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @property"},{"line_number":166,"context_line":"    def password(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_aec79662","line":163,"updated":"2015-09-18 04:40:26.000000000","message":"been doing some java recently?","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"24131acd9856fe9eb512543118def6f4e78295c6","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    @username.setter"},{"line_number":162,"context_line":"    def username(self, value):"},{"line_number":163,"context_line":"        self.username \u003d value"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @property"},{"line_number":166,"context_line":"    def password(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_6c050712","line":163,"in_reply_to":"ba15a1d1_aec79662","updated":"2015-09-18 05:45:13.000000000","message":"removed all this","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"383155e67cfe8b31ddcbf21d0ab0161c6780920f","unresolved":false,"context_lines":[{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    @password.setter"},{"line_number":170,"context_line":"    def password(self, value):"},{"line_number":171,"context_line":"        self.password \u003d value"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    def get_unscoped_auth_ref(self, session):"},{"line_number":174,"context_line":"        \"\"\"Authenticate with OpenID Connect and get back claims."}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_6ea41eb9","line":171,"updated":"2015-09-18 04:40:26.000000000","message":"these don\u0027t do anything... i\u0027m surprised they\u0027re not recursive actually...","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"24131acd9856fe9eb512543118def6f4e78295c6","unresolved":false,"context_lines":[{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    @password.setter"},{"line_number":170,"context_line":"    def password(self, value):"},{"line_number":171,"context_line":"        self.password \u003d value"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    def get_unscoped_auth_ref(self, session):"},{"line_number":174,"context_line":"        \"\"\"Authenticate with OpenID Connect and get back claims."}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_8c009b03","line":171,"in_reply_to":"ba15a1d1_6ea41eb9","updated":"2015-09-18 05:45:13.000000000","message":"removed","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"383155e67cfe8b31ddcbf21d0ab0161c6780920f","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        to Keystone in the form of environment variables."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        :param session: a session object to send out HTTP requests."},{"line_number":188,"context_line":"        :type session: keystoneclient.session.Session"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"        :returns: a token data representation"},{"line_number":191,"context_line":"        :rtype: :py:class:`keystoneclient.access.AccessInfo`"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_4ee91ab6","line":188,"updated":"2015-09-18 04:40:26.000000000","message":"keystoneauth1","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"24131acd9856fe9eb512543118def6f4e78295c6","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        to Keystone in the form of environment variables."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        :param session: a session object to send out HTTP requests."},{"line_number":188,"context_line":"        :type session: keystoneclient.session.Session"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"        :returns: a token data representation"},{"line_number":191,"context_line":"        :rtype: :py:class:`keystoneclient.access.AccessInfo`"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_8c52db33","line":188,"in_reply_to":"ba15a1d1_4ee91ab6","updated":"2015-09-18 05:45:13.000000000","message":"Done","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"383155e67cfe8b31ddcbf21d0ab0161c6780920f","unresolved":false,"context_lines":[{"line_number":188,"context_line":"        :type session: keystoneclient.session.Session"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"        :returns: a token data representation"},{"line_number":191,"context_line":"        :rtype: :py:class:`keystoneclient.access.AccessInfo`"},{"line_number":192,"context_line":"        \"\"\""},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        # get an access token"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_eed4aeec","line":191,"updated":"2015-09-18 04:40:26.000000000","message":"keystoneauth1 - all through the file","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"24131acd9856fe9eb512543118def6f4e78295c6","unresolved":false,"context_lines":[{"line_number":188,"context_line":"        :type session: keystoneclient.session.Session"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"        :returns: a token data representation"},{"line_number":191,"context_line":"        :rtype: :py:class:`keystoneclient.access.AccessInfo`"},{"line_number":192,"context_line":"        \"\"\""},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        # get an access token"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_2c34eff9","line":191,"in_reply_to":"ba15a1d1_eed4aeec","updated":"2015-09-18 05:45:13.000000000","message":"Done","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"383155e67cfe8b31ddcbf21d0ab0161c6780920f","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        response \u003d self._get_keystone_token(session, headers,"},{"line_number":205,"context_line":"                                            self.federated_token_url)"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        # grab the unscoped token"},{"line_number":208,"context_line":"        token \u003d response.headers[\u0027X-Subject-Token\u0027]"},{"line_number":209,"context_line":"        token_json \u003d response.json()[\u0027token\u0027]"},{"line_number":210,"context_line":"        return access.AccessInfoV3(token, **token_json)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_cebe8aad","line":207,"updated":"2015-09-18 04:40:26.000000000","message":"not like this any more\n\nreturn access.create(resp\u003dresponse)","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"24131acd9856fe9eb512543118def6f4e78295c6","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        response \u003d self._get_keystone_token(session, headers,"},{"line_number":205,"context_line":"                                            self.federated_token_url)"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        # grab the unscoped token"},{"line_number":208,"context_line":"        token \u003d response.headers[\u0027X-Subject-Token\u0027]"},{"line_number":209,"context_line":"        token_json \u003d response.json()[\u0027token\u0027]"},{"line_number":210,"context_line":"        return access.AccessInfoV3(token, **token_json)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_8ca41b4b","line":207,"in_reply_to":"ba15a1d1_cebe8aad","updated":"2015-09-18 05:45:13.000000000","message":"Done","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"383155e67cfe8b31ddcbf21d0ab0161c6780920f","unresolved":false,"context_lines":[{"line_number":228,"context_line":"        \"\"\""},{"line_number":229,"context_line":"        super(OidcPassword, self).__init__(auth_url, identity_provider,"},{"line_number":230,"context_line":"                                           protocol, client_id, client_secret,"},{"line_number":231,"context_line":"                                           access_token_endpoint, grant_type)"},{"line_number":232,"context_line":"        self.redirect_uri \u003d redirect_uri"},{"line_number":233,"context_line":"        self.code \u003d code"},{"line_number":234,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_6eb97ecb","line":231,"updated":"2015-09-18 04:40:26.000000000","message":"This is not an OidcPassword.\n\nit\u0027s going to fail positional() passing so many of these.","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"24131acd9856fe9eb512543118def6f4e78295c6","unresolved":false,"context_lines":[{"line_number":228,"context_line":"        \"\"\""},{"line_number":229,"context_line":"        super(OidcPassword, self).__init__(auth_url, identity_provider,"},{"line_number":230,"context_line":"                                           protocol, client_id, client_secret,"},{"line_number":231,"context_line":"                                           access_token_endpoint, grant_type)"},{"line_number":232,"context_line":"        self.redirect_uri \u003d redirect_uri"},{"line_number":233,"context_line":"        self.code \u003d code"},{"line_number":234,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_ac8c7fda","line":231,"in_reply_to":"ba15a1d1_6eb97ecb","updated":"2015-09-18 05:45:13.000000000","message":"Done","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"383155e67cfe8b31ddcbf21d0ab0161c6780920f","unresolved":false,"context_lines":[{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    @code.setter"},{"line_number":248,"context_line":"    def code(self, value):"},{"line_number":249,"context_line":"        self.code \u003d value"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def get_unscoped_auth_ref(self, session):"},{"line_number":252,"context_line":"        \"\"\"Authenticate with OpenID Connect and get back claims."}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_ae9eb660","line":249,"updated":"2015-09-18 04:40:26.000000000","message":"ditto","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"24131acd9856fe9eb512543118def6f4e78295c6","unresolved":false,"context_lines":[{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    @code.setter"},{"line_number":248,"context_line":"    def code(self, value):"},{"line_number":249,"context_line":"        self.code \u003d value"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def get_unscoped_auth_ref(self, session):"},{"line_number":252,"context_line":"        \"\"\"Authenticate with OpenID Connect and get back claims."}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_4f05950e","line":249,"in_reply_to":"ba15a1d1_ae9eb660","updated":"2015-09-18 05:45:13.000000000","message":"removed","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"383155e67cfe8b31ddcbf21d0ab0161c6780920f","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        response \u003d self._get_keystone_token(session, headers,"},{"line_number":284,"context_line":"                                            self.federated_token_url)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        # grab the unscoped token"},{"line_number":287,"context_line":"        token \u003d response.headers[\u0027X-Subject-Token\u0027]"},{"line_number":288,"context_line":"        token_json \u003d response.json()[\u0027token\u0027]"},{"line_number":289,"context_line":"        return access.AccessInfoV3(token, **token_json)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_6e92de4d","line":286,"updated":"2015-09-18 04:40:26.000000000","message":"not like this any more \n\nreturn access.create(resp\u003dresponse)","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"24131acd9856fe9eb512543118def6f4e78295c6","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        response \u003d self._get_keystone_token(session, headers,"},{"line_number":284,"context_line":"                                            self.federated_token_url)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        # grab the unscoped token"},{"line_number":287,"context_line":"        token \u003d response.headers[\u0027X-Subject-Token\u0027]"},{"line_number":288,"context_line":"        token_json \u003d response.json()[\u0027token\u0027]"},{"line_number":289,"context_line":"        return access.AccessInfoV3(token, **token_json)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_0f0b1d25","line":286,"in_reply_to":"ba15a1d1_6e92de4d","updated":"2015-09-18 05:45:13.000000000","message":"Done","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"ca7836cb00fb09ad6f20e2bc4b9daded0545ba96","unresolved":false,"context_lines":[{"line_number":13,"context_line":"from keystoneauth1 import _utils"},{"line_number":14,"context_line":"from keystoneauth1 import access"},{"line_number":15,"context_line":"from keystoneauth1.identity.v3 import federation"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class _OidcBase(federation.FederationBaseAuth):"},{"line_number":19,"context_line":"    \"\"\"Base class for different OpenID Connect based flows"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_4c37e3fe","line":16,"updated":"2015-09-18 05:30:46.000000000","message":"also add an __all__ here if you\u0027re going to import *","commit_id":"c25bf0246545d2b98e6ea6953c9d667272fbd674"},{"author":{"_account_id":11206,"name":"Zhao Jian","email":"jianzj@cn.ibm.com","username":"Eric_Zhao"},"change_message_id":"070341c29ebef1d9f1a5e015b121daf6cb5e56b1","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    The OpenID Connect specification can be found at::"},{"line_number":22,"context_line":"    ``http://openid.net/specs/openid-connect-core-1_0.html``"},{"line_number":23,"context_line":"    \"\"\""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    @_utils.positional(4)"},{"line_number":26,"context_line":"    def __init__(self, auth_url, identity_provider, protocol,"},{"line_number":27,"context_line":"                 client_id, client_secret, access_token_endpoint,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_8df6438d","line":24,"updated":"2015-09-18 15:38:01.000000000","message":"Based on my understanding, I think if this place should be changed into 2 instead of 4, based on \"access_token_type\u003d\u0027access_token\u0027\", and self.","commit_id":"7a595067f0b12c2592005c1a879fc9c988d33746"},{"author":{"_account_id":11206,"name":"Zhao Jian","email":"jianzj@cn.ibm.com","username":"Eric_Zhao"},"change_message_id":"070341c29ebef1d9f1a5e015b121daf6cb5e56b1","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"class OidcPassword(_OidcBase):"},{"line_number":130,"context_line":"    \"\"\"Implementation for OpenID Connect Resource Owner Password Credential\"\"\""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    @_utils.positional(4)"},{"line_number":133,"context_line":"    def __init__(self, auth_url, identity_provider, protocol,"},{"line_number":134,"context_line":"                 client_id, client_secret, access_token_endpoint,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_cd9afb61","line":131,"updated":"2015-09-18 15:38:01.000000000","message":"Based on my understanding, I think if this place should be 6 instead of 4, based on \"grant_type\u003d\u0027password\u0027,access_token_type\u003d\u0027access_token\u0027,username\u003dNone, password\u003dNone, scope\u003d\u0027profile\u0027\" and self .","commit_id":"7a595067f0b12c2592005c1a879fc9c988d33746"},{"author":{"_account_id":11206,"name":"Zhao Jian","email":"jianzj@cn.ibm.com","username":"Eric_Zhao"},"change_message_id":"070341c29ebef1d9f1a5e015b121daf6cb5e56b1","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                      defaults to \"profile\", for example: \"profile email\""},{"line_number":146,"context_line":"        :type scope: string"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        \"\"\""},{"line_number":149,"context_line":"        super(OidcPassword, self).__init__(auth_url,"},{"line_number":150,"context_line":"                                           identity_provider,"},{"line_number":151,"context_line":"                                           protocol)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_2df057c8","line":148,"updated":"2015-09-18 15:38:01.000000000","message":"I think this place may be also changed as OidcAuthorizationCode comment.","commit_id":"7a595067f0b12c2592005c1a879fc9c988d33746"},{"author":{"_account_id":11206,"name":"Zhao Jian","email":"jianzj@cn.ibm.com","username":"Eric_Zhao"},"change_message_id":"070341c29ebef1d9f1a5e015b121daf6cb5e56b1","unresolved":false,"context_lines":[{"line_number":194,"context_line":"class OidcAuthorizationCode(_OidcBase):"},{"line_number":195,"context_line":"    \"\"\"Implementation for OpenID Connect Authorization Code\"\"\""},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    @_utils.positional(4)"},{"line_number":198,"context_line":"    def __init__(self, auth_url, identity_provider, protocol,"},{"line_number":199,"context_line":"                 client_id, client_secret, access_token_endpoint,"},{"line_number":200,"context_line":"                 access_token_type, grant_type\u003d\u0027authorization_code\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_ad58e78a","line":197,"updated":"2015-09-18 15:38:01.000000000","message":"By the way, I just found this order of \"access_token_endpoint, access_token_type, grant_type\" is different of the order in _OidcBase, which is \"access_token_endpoint, grant_type, access_token_type\", I think if the same order is more comfortable to use and read.","commit_id":"7a595067f0b12c2592005c1a879fc9c988d33746"},{"author":{"_account_id":11206,"name":"Zhao Jian","email":"jianzj@cn.ibm.com","username":"Eric_Zhao"},"change_message_id":"070341c29ebef1d9f1a5e015b121daf6cb5e56b1","unresolved":false,"context_lines":[{"line_number":206,"context_line":"        :param code: OAuth 2.0 Authorization Code"},{"line_number":207,"context_line":"        :type code: string"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"        \"\"\""},{"line_number":210,"context_line":"        super(OidcAuthorizationCode, self).__init__(auth_url,"},{"line_number":211,"context_line":"                                                    identity_provider,"},{"line_number":212,"context_line":"                                                    protocol)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_0d6473b6","line":209,"updated":"2015-09-18 15:38:01.000000000","message":"I just suppose since this will call _OidcBase __init__ method, so if we should offer all parameters needed, which means we should change to :\nsuper(OidcAuthorizationCode, self).__init__(auth_url\u003dauth_url,\n                                            identity_provider\u003didentity_provider,\nprotocol\u003dprotocol,\nclient_id\u003dclient_id,\nclient_secret\u003dclient_secret,\naccess_token_endpoint\u003daccess\u003dtoken_endpoint,\ngrant_type\u003dgrant_type,\naccess_token_type\u003daccess_token_type)\n\nto pass parameters into _OidcBase ?","commit_id":"7a595067f0b12c2592005c1a879fc9c988d33746"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"e1aa73d8f1915ebb1bcb9efcce1252d103b6a0f0","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        auth_response \u003d session.post(self.federated_token_url,"},{"line_number":126,"context_line":"                                     headers\u003dheaders,"},{"line_number":127,"context_line":"                                     authenticated\u003dFalse)"},{"line_number":128,"context_line":"        return auth_response"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"class OidcPassword(_OidcBase):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_6d539d6d","line":128,"updated":"2015-09-19 01:58:00.000000000","message":"never understood the need to declare a variable here rather than just return\n\nnot a problem","commit_id":"8950b290085a43b326570cdb6682a190bec3fed9"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"70534d1e4b8fb2fd5dff09071a77fe7de7086a4b","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        auth_response \u003d session.post(self.federated_token_url,"},{"line_number":126,"context_line":"                                     headers\u003dheaders,"},{"line_number":127,"context_line":"                                     authenticated\u003dFalse)"},{"line_number":128,"context_line":"        return auth_response"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"class OidcPassword(_OidcBase):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_7f7b402a","line":128,"in_reply_to":"ba15a1d1_6d539d6d","updated":"2015-09-19 03:04:27.000000000","message":"meh","commit_id":"8950b290085a43b326570cdb6682a190bec3fed9"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"e1aa73d8f1915ebb1bcb9efcce1252d103b6a0f0","unresolved":false,"context_lines":[{"line_number":131,"context_line":"class OidcPassword(_OidcBase):"},{"line_number":132,"context_line":"    \"\"\"Implementation for OpenID Connect Resource Owner Password Credential\"\"\""},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    @_utils.positional(7)"},{"line_number":135,"context_line":"    def __init__(self, auth_url, identity_provider, protocol,"},{"line_number":136,"context_line":"                 client_id, client_secret, access_token_endpoint,"},{"line_number":137,"context_line":"                 grant_type\u003d\u0027password\u0027, access_token_type\u003d\u0027access_token\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_ad58d58b","line":134,"updated":"2015-09-19 01:58:00.000000000","message":"are you sure you want 7? 7 positional arguments is really hard to keep track of.\n\nAlso you can just give no argument there for \"everything that doesn\u0027t have a default\"","commit_id":"8950b290085a43b326570cdb6682a190bec3fed9"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"70534d1e4b8fb2fd5dff09071a77fe7de7086a4b","unresolved":false,"context_lines":[{"line_number":131,"context_line":"class OidcPassword(_OidcBase):"},{"line_number":132,"context_line":"    \"\"\"Implementation for OpenID Connect Resource Owner Password Credential\"\"\""},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    @_utils.positional(7)"},{"line_number":135,"context_line":"    def __init__(self, auth_url, identity_provider, protocol,"},{"line_number":136,"context_line":"                 client_id, client_secret, access_token_endpoint,"},{"line_number":137,"context_line":"                 grant_type\u003d\u0027password\u0027, access_token_type\u003d\u0027access_token\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_1f8c8434","line":134,"in_reply_to":"ba15a1d1_ad58d58b","updated":"2015-09-19 03:04:27.000000000","message":"changed it to 4","commit_id":"8950b290085a43b326570cdb6682a190bec3fed9"}],"keystoneauth1/loading/_plugins/identity/v3.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"383155e67cfe8b31ddcbf21d0ab0161c6780920f","unresolved":false,"context_lines":[{"line_number":118,"context_line":"class _OpenIDConnectBase(FederatedBase):"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def get_options(self):"},{"line_number":121,"context_line":"        options \u003d super(FederatedBase, self).get_options()"},{"line_number":122,"context_line":"        options.extend(["},{"line_number":123,"context_line":"            loading.Opt(\u0027client-id\u0027, help\u003d\u0027OAuth 2.0 Client ID\u0027),"},{"line_number":124,"context_line":"            loading.Opt(\u0027client-secret\u0027, help\u003d\u0027OAuth 2.0 Client Secret\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_6e073e82","line":121,"updated":"2015-09-18 04:40:26.000000000","message":"_OpenIDConnectBase","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"24131acd9856fe9eb512543118def6f4e78295c6","unresolved":false,"context_lines":[{"line_number":118,"context_line":"class _OpenIDConnectBase(FederatedBase):"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def get_options(self):"},{"line_number":121,"context_line":"        options \u003d super(FederatedBase, self).get_options()"},{"line_number":122,"context_line":"        options.extend(["},{"line_number":123,"context_line":"            loading.Opt(\u0027client-id\u0027, help\u003d\u0027OAuth 2.0 Client ID\u0027),"},{"line_number":124,"context_line":"            loading.Opt(\u0027client-secret\u0027, help\u003d\u0027OAuth 2.0 Client Secret\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_8f2e4d8a","line":121,"in_reply_to":"ba15a1d1_6e073e82","updated":"2015-09-18 05:45:13.000000000","message":"Done","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"383155e67cfe8b31ddcbf21d0ab0161c6780920f","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                        help\u003d\u0027OpenID Connect grant type, it represents the \u0027"},{"line_number":129,"context_line":"                             \u0027flow that is used to talk to the OP. Valid \u0027"},{"line_number":130,"context_line":"                             \u0027values are: \"authorization_code\", \u0027"},{"line_number":131,"context_line":"                             \u0027\"refresh_token\" or \"password\"\u0027),"},{"line_number":132,"context_line":"            loading.Opt(\u0027access_token_type\u0027,"},{"line_number":133,"context_line":"                        help\u003d\u0027OAuth 2.0 Authorization Server Introspection \u0027"},{"line_number":134,"context_line":"                             \u0027token type, it is used to decide which type \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_eefb4e77","line":131,"updated":"2015-09-18 04:40:26.000000000","message":"you can put validation on load_from_conf_options() if you like for this.","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"383155e67cfe8b31ddcbf21d0ab0161c6780920f","unresolved":false,"context_lines":[{"line_number":143,"context_line":"class OpenIDConnectPassword(_OpenIDConnectBase):"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    def get_options(self):"},{"line_number":146,"context_line":"        options \u003d super(FederatedBase, self).get_options()"},{"line_number":147,"context_line":"        options.extend(["},{"line_number":148,"context_line":"            loading.Opt(\u0027username\u0027, help\u003d\u0027Username\u0027),"},{"line_number":149,"context_line":"            loading.Opt(\u0027password\u0027, help\u003d\u0027Password\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_ceec4abd","line":146,"updated":"2015-09-18 04:40:26.000000000","message":"OpenIDConnectPassword","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"24131acd9856fe9eb512543118def6f4e78295c6","unresolved":false,"context_lines":[{"line_number":143,"context_line":"class OpenIDConnectPassword(_OpenIDConnectBase):"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    def get_options(self):"},{"line_number":146,"context_line":"        options \u003d super(FederatedBase, self).get_options()"},{"line_number":147,"context_line":"        options.extend(["},{"line_number":148,"context_line":"            loading.Opt(\u0027username\u0027, help\u003d\u0027Username\u0027),"},{"line_number":149,"context_line":"            loading.Opt(\u0027password\u0027, help\u003d\u0027Password\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_2f50610a","line":146,"in_reply_to":"ba15a1d1_ceec4abd","updated":"2015-09-18 05:45:13.000000000","message":"Done","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"383155e67cfe8b31ddcbf21d0ab0161c6780920f","unresolved":false,"context_lines":[{"line_number":157,"context_line":"class OpenIDConnectAuthorizationCode(_OpenIDConnectBase):"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def get_options(self):"},{"line_number":160,"context_line":"        options \u003d super(FederatedBase, self).get_options()"},{"line_number":161,"context_line":"        options.extend(["},{"line_number":162,"context_line":"            loading.Opt(\u0027redirect_uri\u0027, help\u003d\u0027OpenID Connect Redirect URL\u0027),"},{"line_number":163,"context_line":"            loading.Opt(\u0027code\u0027, help\u003d\u0027OAuth 2.0 Authorization Code\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_6e2e5efc","line":160,"updated":"2015-09-18 04:40:26.000000000","message":"OpenIDConnectAuthorizationCode","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"24131acd9856fe9eb512543118def6f4e78295c6","unresolved":false,"context_lines":[{"line_number":157,"context_line":"class OpenIDConnectAuthorizationCode(_OpenIDConnectBase):"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def get_options(self):"},{"line_number":160,"context_line":"        options \u003d super(FederatedBase, self).get_options()"},{"line_number":161,"context_line":"        options.extend(["},{"line_number":162,"context_line":"            loading.Opt(\u0027redirect_uri\u0027, help\u003d\u0027OpenID Connect Redirect URL\u0027),"},{"line_number":163,"context_line":"            loading.Opt(\u0027code\u0027, help\u003d\u0027OAuth 2.0 Authorization Code\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_4f535517","line":160,"in_reply_to":"ba15a1d1_6e2e5efc","updated":"2015-09-18 05:45:13.000000000","message":"Done","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"e1aa73d8f1915ebb1bcb9efcce1252d103b6a0f0","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                        help\u003d\u0027OpenID Connect grant type, it represents the \u0027"},{"line_number":130,"context_line":"                             \u0027flow that is used to talk to the OP. Valid \u0027"},{"line_number":131,"context_line":"                             \u0027values are: \"authorization_code\", \u0027"},{"line_number":132,"context_line":"                             \u0027\"refresh_token\" or \"password\"\u0027),"},{"line_number":133,"context_line":"            loading.Opt(\u0027access_token_type\u0027,"},{"line_number":134,"context_line":"                        help\u003d\u0027OAuth 2.0 Authorization Server Introspection \u0027"},{"line_number":135,"context_line":"                             \u0027token type, it is used to decide which type \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_0dcb0120","line":132,"updated":"2015-09-19 01:58:00.000000000","message":"hmm, i don\u0027t think you want grant_type here. This would show up as --os-grant_type on the CLI, doesn\u0027t the auth plugin name imply that.","commit_id":"8950b290085a43b326570cdb6682a190bec3fed9"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"70534d1e4b8fb2fd5dff09071a77fe7de7086a4b","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                        help\u003d\u0027OpenID Connect grant type, it represents the \u0027"},{"line_number":130,"context_line":"                             \u0027flow that is used to talk to the OP. Valid \u0027"},{"line_number":131,"context_line":"                             \u0027values are: \"authorization_code\", \u0027"},{"line_number":132,"context_line":"                             \u0027\"refresh_token\" or \"password\"\u0027),"},{"line_number":133,"context_line":"            loading.Opt(\u0027access_token_type\u0027,"},{"line_number":134,"context_line":"                        help\u003d\u0027OAuth 2.0 Authorization Server Introspection \u0027"},{"line_number":135,"context_line":"                             \u0027token type, it is used to decide which type \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_adb45582","line":132,"in_reply_to":"ba15a1d1_0dcb0120","updated":"2015-09-19 03:04:27.000000000","message":"okay, i can remove this one, it seems excessive for a config option","commit_id":"8950b290085a43b326570cdb6682a190bec3fed9"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"e1aa73d8f1915ebb1bcb9efcce1252d103b6a0f0","unresolved":false,"context_lines":[{"line_number":135,"context_line":"                             \u0027token type, it is used to decide which type \u0027"},{"line_number":136,"context_line":"                             \u0027of token will be used when processing token \u0027"},{"line_number":137,"context_line":"                             \u0027introspection. Valid values are: \u0027"},{"line_number":138,"context_line":"                             \u0027\"access_token\" or \"id_token\"\u0027),"},{"line_number":139,"context_line":"        ])"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        return options"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_cdd429bf","line":138,"updated":"2015-09-19 01:58:00.000000000","message":"out of interest what does this mean and do i want it as a CLI --os-access_token_type? \n\n(Note underscores here will pass through to the cli param)","commit_id":"8950b290085a43b326570cdb6682a190bec3fed9"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"70534d1e4b8fb2fd5dff09071a77fe7de7086a4b","unresolved":false,"context_lines":[{"line_number":135,"context_line":"                             \u0027token type, it is used to decide which type \u0027"},{"line_number":136,"context_line":"                             \u0027of token will be used when processing token \u0027"},{"line_number":137,"context_line":"                             \u0027introspection. Valid values are: \u0027"},{"line_number":138,"context_line":"                             \u0027\"access_token\" or \"id_token\"\u0027),"},{"line_number":139,"context_line":"        ])"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        return options"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_4da6d954","line":138,"in_reply_to":"ba15a1d1_cdd429bf","updated":"2015-09-19 03:04:27.000000000","message":"oops, i will change that to dashes.\n\ntypically this will be always \u0027access_token\u0027, but it could be overridden.","commit_id":"8950b290085a43b326570cdb6682a190bec3fed9"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"e1aa73d8f1915ebb1bcb9efcce1252d103b6a0f0","unresolved":false,"context_lines":[{"line_number":154,"context_line":"            loading.Opt(\u0027username\u0027, help\u003d\u0027Username\u0027),"},{"line_number":155,"context_line":"            loading.Opt(\u0027password\u0027, help\u003d\u0027Password\u0027),"},{"line_number":156,"context_line":"            loading.Opt(\u0027scope\u0027, default\u003d\"profile\","},{"line_number":157,"context_line":"                        help\u003d\u0027OpenID Connect scope that is requested from OP\u0027)"},{"line_number":158,"context_line":"        ])"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        return options"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_6ddabdeb","line":157,"updated":"2015-09-19 01:58:00.000000000","message":"ugh, --os-scope is going to be nice and confusing","commit_id":"8950b290085a43b326570cdb6682a190bec3fed9"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"70534d1e4b8fb2fd5dff09071a77fe7de7086a4b","unresolved":false,"context_lines":[{"line_number":154,"context_line":"            loading.Opt(\u0027username\u0027, help\u003d\u0027Username\u0027),"},{"line_number":155,"context_line":"            loading.Opt(\u0027password\u0027, help\u003d\u0027Password\u0027),"},{"line_number":156,"context_line":"            loading.Opt(\u0027scope\u0027, default\u003d\"profile\","},{"line_number":157,"context_line":"                        help\u003d\u0027OpenID Connect scope that is requested from OP\u0027)"},{"line_number":158,"context_line":"        ])"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        return options"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_bfaeb87f","line":157,"in_reply_to":"ba15a1d1_6ddabdeb","updated":"2015-09-19 03:04:27.000000000","message":"i can change this to something more appropriate","commit_id":"8950b290085a43b326570cdb6682a190bec3fed9"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"e1aa73d8f1915ebb1bcb9efcce1252d103b6a0f0","unresolved":false,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        options.extend(["},{"line_number":173,"context_line":"            loading.Opt(\u0027redirect_uri\u0027, help\u003d\u0027OpenID Connect Redirect URL\u0027),"},{"line_number":174,"context_line":"            loading.Opt(\u0027code\u0027, help\u003d\u0027OAuth 2.0 Authorization Code\u0027),"},{"line_number":175,"context_line":"        ])"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        return options"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_2de4c5aa","line":174,"updated":"2015-09-19 01:58:00.000000000","message":"same with --os-code","commit_id":"8950b290085a43b326570cdb6682a190bec3fed9"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"70534d1e4b8fb2fd5dff09071a77fe7de7086a4b","unresolved":false,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        options.extend(["},{"line_number":173,"context_line":"            loading.Opt(\u0027redirect_uri\u0027, help\u003d\u0027OpenID Connect Redirect URL\u0027),"},{"line_number":174,"context_line":"            loading.Opt(\u0027code\u0027, help\u003d\u0027OAuth 2.0 Authorization Code\u0027),"},{"line_number":175,"context_line":"        ])"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        return options"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_dfb36ce8","line":174,"in_reply_to":"ba15a1d1_2de4c5aa","updated":"2015-09-19 03:04:27.000000000","message":"same","commit_id":"8950b290085a43b326570cdb6682a190bec3fed9"}],"keystoneauth1/tests/unit/identity/test_identity_v3_oidc.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"383155e67cfe8b31ddcbf21d0ab0161c6780920f","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            \"name\": \"oidc_user@example.com\""},{"line_number":50,"context_line":"        }"},{"line_number":51,"context_line":"    }"},{"line_number":52,"context_line":"}"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"class AuthenticateOIDCTests(utils.TestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_ee426ead","line":52,"updated":"2015-09-18 04:40:26.000000000","message":"can we do this with a fixture?","commit_id":"d5f7d4e1002cfb14665d15530244b0ec18d4c06a"}]}
