)]}'
{"api-ref/source/v3-ext/federation.inc":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Corresponding to Identity API v3.4 release."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"- Add websso routes."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"What\u0027s New in Version 1.1"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_f2ec3e94","line":24,"updated":"2016-07-15 02:18:00.000000000","message":"Added*?","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"017c0c60e086beeeff714dfa89d33badec0e00dd","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Corresponding to Identity API v3.4 release."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"- Add websso routes."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"What\u0027s New in Version 1.1"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"fad55976_63eb2bb1","line":24,"in_reply_to":"1aa78d24_f2ec3e94","updated":"2016-07-16 21:49:07.000000000","message":"Done","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":41,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"- *Trusted Identity Provider*: An identity provider set up within the Identity"},{"line_number":44,"context_line":"  API that is trusted to provide authenticated user information."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"- *Service Provider*: A system entity that provides services to principals or"},{"line_number":47,"context_line":"  other system entities, in this case, the OpenStack Identity API is the"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_329ec607","line":44,"updated":"2016-07-15 02:18:00.000000000","message":"I wonder if we should clarify this to say it is setup with the Service Provider?","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"017c0c60e086beeeff714dfa89d33badec0e00dd","unresolved":false,"context_lines":[{"line_number":41,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"- *Trusted Identity Provider*: An identity provider set up within the Identity"},{"line_number":44,"context_line":"  API that is trusted to provide authenticated user information."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"- *Service Provider*: A system entity that provides services to principals or"},{"line_number":47,"context_line":"  other system entities, in this case, the OpenStack Identity API is the"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"fad55976_03dd0f0e","line":44,"in_reply_to":"1aa78d24_329ec607","updated":"2016-07-16 21:49:07.000000000","message":"i disagree with this one. i don\u0027t want to further confuse the reader","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"- *Attribute Mapping*: The user information passed by a federation protocol for"},{"line_number":51,"context_line":"  an already authenticated identity are called ``attributes``. Those"},{"line_number":52,"context_line":"  ``attributes`` may not align 1:1 with the Identity API concepts. To help"},{"line_number":53,"context_line":"  overcome such mismatches, a mapping can be done either on the sending side"},{"line_number":54,"context_line":"  (third party identity provider), on the consuming side (Identity API"},{"line_number":55,"context_line":"  service), or both."}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_52aa721b","line":52,"updated":"2016-07-15 02:18:00.000000000","message":"s/1:1/one-to-one/\n\nor maybe - \u0027those attribute may not align directly with concepts of the Identity API.\u0027","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"017c0c60e086beeeff714dfa89d33badec0e00dd","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"- *Attribute Mapping*: The user information passed by a federation protocol for"},{"line_number":51,"context_line":"  an already authenticated identity are called ``attributes``. Those"},{"line_number":52,"context_line":"  ``attributes`` may not align 1:1 with the Identity API concepts. To help"},{"line_number":53,"context_line":"  overcome such mismatches, a mapping can be done either on the sending side"},{"line_number":54,"context_line":"  (third party identity provider), on the consuming side (Identity API"},{"line_number":55,"context_line":"  service), or both."}],"source_content_type":"text/x-c++src","patch_set":1,"id":"fad55976_43054778","line":52,"in_reply_to":"1aa78d24_52aa721b","updated":"2016-07-16 21:49:07.000000000","message":"Done","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":52,"context_line":"  ``attributes`` may not align 1:1 with the Identity API concepts. To help"},{"line_number":53,"context_line":"  overcome such mismatches, a mapping can be done either on the sending side"},{"line_number":54,"context_line":"  (third party identity provider), on the consuming side (Identity API"},{"line_number":55,"context_line":"  service), or both."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"API Resources"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_7224cec5","line":55,"updated":"2016-07-15 02:18:00.000000000","message":"Should we add Protocols to the definitions here?","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"017c0c60e086beeeff714dfa89d33badec0e00dd","unresolved":false,"context_lines":[{"line_number":52,"context_line":"  ``attributes`` may not align 1:1 with the Identity API concepts. To help"},{"line_number":53,"context_line":"  overcome such mismatches, a mapping can be done either on the sending side"},{"line_number":54,"context_line":"  (third party identity provider), on the consuming side (Identity API"},{"line_number":55,"context_line":"  service), or both."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"API Resources"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"fad55976_23081391","line":55,"in_reply_to":"1aa78d24_7224cec5","updated":"2016-07-16 21:49:07.000000000","message":"Done","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    /OS-FEDERATION/identity_providers"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"An Identity Provider is a third party service that is trusted by the Identity"},{"line_number":69,"context_line":"API to authenticate identities."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Optional attributes:"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_bd1c476b","line":68,"updated":"2016-07-15 02:18:00.000000000","message":"We should do something like:\n\n  An Identity Provider (IdP) ... \n\nOr change all our usages of \"IdP\" to \"Identity Provider\"","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"017c0c60e086beeeff714dfa89d33badec0e00dd","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    /OS-FEDERATION/identity_providers"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"An Identity Provider is a third party service that is trusted by the Identity"},{"line_number":69,"context_line":"API to authenticate identities."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Optional attributes:"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"fad55976_63020b71","line":68,"in_reply_to":"1aa78d24_bd1c476b","updated":"2016-07-16 21:49:07.000000000","message":"Done","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"- ``enabled`` (boolean)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  Indicates whether this identity provider should accept federated"},{"line_number":83,"context_line":"  authentication requests."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"  If a value is not specified by the client, the service will default this to"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_7d393fd8","line":82,"updated":"2016-07-15 02:18:00.000000000","message":"Identity Provider* ?\n\nNot sure what the convention should be here but so far we have:\n\n Identity Provider\n identity provider\n IdP\n\nWe should apply this consistently throughout the document once we decide on a convention.","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"017c0c60e086beeeff714dfa89d33badec0e00dd","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"- ``enabled`` (boolean)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  Indicates whether this identity provider should accept federated"},{"line_number":83,"context_line":"  authentication requests."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"  If a value is not specified by the client, the service will default this to"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"fad55976_c3f93782","line":82,"in_reply_to":"1aa78d24_7d393fd8","updated":"2016-07-16 21:49:07.000000000","message":"i\u0027ll fix this in a follow up","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":90,"context_line":"  Valid remote IdP entity values from Identity Providers. If a value is not"},{"line_number":91,"context_line":"  specified by the client, the list will be empty."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Protocols"},{"line_number":95,"context_line":"---------"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_ddde730f","line":93,"updated":"2016-07-15 02:18:00.000000000","message":"extra newline here (at least compared spacing of other sections)?","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"017c0c60e086beeeff714dfa89d33badec0e00dd","unresolved":false,"context_lines":[{"line_number":90,"context_line":"  Valid remote IdP entity values from Identity Providers. If a value is not"},{"line_number":91,"context_line":"  specified by the client, the list will be empty."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Protocols"},{"line_number":95,"context_line":"---------"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":1,"id":"fad55976_a3f40387","line":93,"in_reply_to":"1aa78d24_ddde730f","updated":"2016-07-16 21:49:07.000000000","message":"Done","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Required attributes:"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"- ``mapping_id`` (string)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"  Indicates which mapping should be used to process federated authentication"},{"line_number":109,"context_line":"  requests."}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_5611bd5c","line":106,"updated":"2016-07-15 02:18:00.000000000","message":"Should this be idp_id?","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"017c0c60e086beeeff714dfa89d33badec0e00dd","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Required attributes:"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"- ``mapping_id`` (string)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"  Indicates which mapping should be used to process federated authentication"},{"line_number":109,"context_line":"  requests."}],"source_content_type":"text/x-c++src","patch_set":1,"id":"fad55976_e3eefbb2","line":106,"in_reply_to":"1aa78d24_5611bd5c","updated":"2016-07-16 21:49:07.000000000","message":"nope, this is correct, it\u0027s required in the body","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":118,"context_line":"A ``mapping`` is a set of rules to map federation protocol attributes to"},{"line_number":119,"context_line":"Identity API objects. An Identity Provider can have a single ``mapping``"},{"line_number":120,"context_line":"specified per protocol. A mapping is simply a list of ``rules``. The only"},{"line_number":121,"context_line":"Identity API objects that will support mapping are: ``group``."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Required attributes:"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_d11c976c","line":121,"updated":"2016-07-15 02:18:00.000000000","message":"We will have to change this for shadow users.","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"017c0c60e086beeeff714dfa89d33badec0e00dd","unresolved":false,"context_lines":[{"line_number":118,"context_line":"A ``mapping`` is a set of rules to map federation protocol attributes to"},{"line_number":119,"context_line":"Identity API objects. An Identity Provider can have a single ``mapping``"},{"line_number":120,"context_line":"specified per protocol. A mapping is simply a list of ``rules``. The only"},{"line_number":121,"context_line":"Identity API objects that will support mapping are: ``group``."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Required attributes:"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":1,"id":"fad55976_232f73f7","line":121,"in_reply_to":"1aa78d24_d11c976c","updated":"2016-07-16 21:49:07.000000000","message":"let\u0027s take it out now","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":261,"context_line":""},{"line_number":262,"context_line":"- ``auth_url`` (string)"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"Specifies the protected URL where unscoped tokens can be retrieved once the"},{"line_number":265,"context_line":"user is authenticated."},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"- ``sp_url`` (string)"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_31707ba4","line":264,"updated":"2016-07-15 02:18:00.000000000","message":"s/unscoped// \n\nSince a federated user can get both scoped and unscoped tokens from the auth_url. Not only that, but they can also get a list of projects they have access to via the group assignment.","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"017c0c60e086beeeff714dfa89d33badec0e00dd","unresolved":false,"context_lines":[{"line_number":261,"context_line":""},{"line_number":262,"context_line":"- ``auth_url`` (string)"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"Specifies the protected URL where unscoped tokens can be retrieved once the"},{"line_number":265,"context_line":"user is authenticated."},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"- ``sp_url`` (string)"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"fad55976_83361f50","line":264,"in_reply_to":"1aa78d24_31707ba4","updated":"2016-07-16 21:49:07.000000000","message":"Done","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":294,"context_line":"to ``ss:mem:``."},{"line_number":295,"context_line":""},{"line_number":296,"context_line":""},{"line_number":297,"context_line":".. TODO(samueldmq): This is the Identity Provider API, move it to its own file."},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"Register an Identity Provider"},{"line_number":300,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_d1b8172d","line":297,"updated":"2016-07-15 02:18:00.000000000","message":"++\n\nI totally agree that it\u0027s time to split the federation docs into their sub-entities.","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":303,"context_line":""},{"line_number":304,"context_line":"Normal response codes: 201"},{"line_number":305,"context_line":"Error response codes: 409 Conflict when registering an identity provider using a"},{"line_number":306,"context_line":"remote ID that is already in use."},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"Request Example"},{"line_number":309,"context_line":"---------------"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_b1e10b2d","line":306,"updated":"2016-07-15 02:18:00.000000000","message":"Do we want to have this convention for all Error response codes? After fixing a bunch of them, I noticed that most of them don\u0027t list reason why, it\u0027s just a list of http status codes. I\u0027d be in favor of sliming this down to the http status codes alone.","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"017c0c60e086beeeff714dfa89d33badec0e00dd","unresolved":false,"context_lines":[{"line_number":303,"context_line":""},{"line_number":304,"context_line":"Normal response codes: 201"},{"line_number":305,"context_line":"Error response codes: 409 Conflict when registering an identity provider using a"},{"line_number":306,"context_line":"remote ID that is already in use."},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"Request Example"},{"line_number":309,"context_line":"---------------"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"fad55976_c34017a8","line":306,"in_reply_to":"1aa78d24_b1e10b2d","updated":"2016-07-16 21:49:07.000000000","message":"Done","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":360,"context_line":"Update identity provider"},{"line_number":361,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":".. rest_method::  PATCH /OS-FEDERATION/identity_providers/{idp_id}"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"When an identity provider is disabled, any tokens generated by that identity"},{"line_number":366,"context_line":"provider will be revoked."}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_71be8301","line":363,"updated":"2016-07-15 02:18:00.000000000","message":"Do we list parameters in this section, too?","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"017c0c60e086beeeff714dfa89d33badec0e00dd","unresolved":false,"context_lines":[{"line_number":360,"context_line":"Update identity provider"},{"line_number":361,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":".. rest_method::  PATCH /OS-FEDERATION/identity_providers/{idp_id}"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"When an identity provider is disabled, any tokens generated by that identity"},{"line_number":366,"context_line":"provider will be revoked."}],"source_content_type":"text/x-c++src","patch_set":1,"id":"fad55976_a33b6337","line":363,"in_reply_to":"1aa78d24_71be8301","updated":"2016-07-16 21:49:07.000000000","message":"we need to do that for all the APIs in this doc -- create a table of parameters, but it\u0027s already huge, i expect this to be a follow-on. the examples are sufficient for a first pass","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":367,"context_line":""},{"line_number":368,"context_line":"Normal response codes: 200"},{"line_number":369,"context_line":"Error response codes: 409 Conflict when updating an identity provider to use a"},{"line_number":370,"context_line":"remote ID that is already in use by another identity provider."},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"Request Example"},{"line_number":373,"context_line":"---------------"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_31ccfbba","line":370,"updated":"2016-07-15 02:18:00.000000000","message":"Same comment here as above.","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"017c0c60e086beeeff714dfa89d33badec0e00dd","unresolved":false,"context_lines":[{"line_number":367,"context_line":""},{"line_number":368,"context_line":"Normal response codes: 200"},{"line_number":369,"context_line":"Error response codes: 409 Conflict when updating an identity provider to use a"},{"line_number":370,"context_line":"remote ID that is already in use by another identity provider."},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"Request Example"},{"line_number":373,"context_line":"---------------"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"fad55976_e3455bb3","line":370,"in_reply_to":"1aa78d24_31ccfbba","updated":"2016-07-16 21:49:07.000000000","message":"Done","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":463,"context_line":"Create a mapping"},{"line_number":464,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":".. rest_method::  PUT /OS-FEDERATION/mappings/{mapping_id}"},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"Normal response codes: 201"},{"line_number":469,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_b1c2ab51","line":466,"updated":"2016-07-15 02:18:00.000000000","message":"I think for these types of docs don\u0027t we usually supply the arguments as a list below? \n\nLike this - https://github.com/openstack/keystone/blob/master/api-ref/source/v3/roles.inc#L120-L124\n\nIf so, we should apply this to all occurrences in this doc.","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"017c0c60e086beeeff714dfa89d33badec0e00dd","unresolved":false,"context_lines":[{"line_number":463,"context_line":"Create a mapping"},{"line_number":464,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":".. rest_method::  PUT /OS-FEDERATION/mappings/{mapping_id}"},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"Normal response codes: 201"},{"line_number":469,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":1,"id":"fad55976_231653a7","line":466,"in_reply_to":"1aa78d24_b1c2ab51","updated":"2016-07-16 21:49:07.000000000","message":"same comment as above","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":536,"context_line":"Normal response codes: 204"},{"line_number":537,"context_line":""},{"line_number":538,"context_line":""},{"line_number":539,"context_line":".. TODO(samueldmq): This is the Service Provider API, move it to its own file."},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"Register a Service Provider"},{"line_number":542,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_d1ac978e","line":539,"updated":"2016-07-15 02:18:00.000000000","message":"Given the size of this review - I don\u0027t think I\u0027d be opposed to doing the split then refactoring each piece individually.","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":826,"context_line":""},{"line_number":827,"context_line":".. rest_method::  GET/POST /OS-FEDERATION/identity_providers/{identity_provider}/protocols/{protocol}/auth"},{"line_number":828,"context_line":""},{"line_number":829,"context_line":"A federated ephemeral user may request an unscoped token, which can be used to"},{"line_number":830,"context_line":"get a scoped token."},{"line_number":831,"context_line":""},{"line_number":832,"context_line":"If the user is mapped directly (mapped to an existing user), a standard,"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_11dc5f17","line":829,"updated":"2016-07-15 02:18:00.000000000","message":"We\u0027ll have to refactor the \u0027ephemeral\u0027 term from all these docs soon, too.","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":883,"context_line":""},{"line_number":884,"context_line":".. rest_method::  GET /auth/OS-FEDERATION/websso/{protocol}?origin\u003dhttps%3A//horizon.example.com"},{"line_number":885,"context_line":""},{"line_number":886,"context_line":"For Web Single Sign On authentication, users are expected to enter another"},{"line_number":887,"context_line":"URL endpoint. Upon successful authentication, instead of issuing a standard"},{"line_number":888,"context_line":"unscoped token, Keystone will issue JavaScript code that redirects the web"},{"line_number":889,"context_line":"browser to the originating Horizon. An unscoped federated token will be"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_b1d58be6","line":886,"updated":"2016-07-15 02:18:00.000000000","message":"Web Single Sign On (WebSSO) *\n\nThen we can use the shortened version through-out the rest of the document.","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"017c0c60e086beeeff714dfa89d33badec0e00dd","unresolved":false,"context_lines":[{"line_number":883,"context_line":""},{"line_number":884,"context_line":".. rest_method::  GET /auth/OS-FEDERATION/websso/{protocol}?origin\u003dhttps%3A//horizon.example.com"},{"line_number":885,"context_line":""},{"line_number":886,"context_line":"For Web Single Sign On authentication, users are expected to enter another"},{"line_number":887,"context_line":"URL endpoint. Upon successful authentication, instead of issuing a standard"},{"line_number":888,"context_line":"unscoped token, Keystone will issue JavaScript code that redirects the web"},{"line_number":889,"context_line":"browser to the originating Horizon. An unscoped federated token will be"}],"source_content_type":"text/x-c++src","patch_set":1,"id":"fad55976_830d7f92","line":886,"in_reply_to":"1aa78d24_b1d58be6","updated":"2016-07-16 21:49:07.000000000","message":"Done","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":885,"context_line":""},{"line_number":886,"context_line":"For Web Single Sign On authentication, users are expected to enter another"},{"line_number":887,"context_line":"URL endpoint. Upon successful authentication, instead of issuing a standard"},{"line_number":888,"context_line":"unscoped token, Keystone will issue JavaScript code that redirects the web"},{"line_number":889,"context_line":"browser to the originating Horizon. An unscoped federated token will be"},{"line_number":890,"context_line":"included in the form being sent."},{"line_number":891,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_91f7af8b","line":888,"updated":"2016-07-15 02:18:00.000000000","message":"keystone*","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"017c0c60e086beeeff714dfa89d33badec0e00dd","unresolved":false,"context_lines":[{"line_number":885,"context_line":""},{"line_number":886,"context_line":"For Web Single Sign On authentication, users are expected to enter another"},{"line_number":887,"context_line":"URL endpoint. Upon successful authentication, instead of issuing a standard"},{"line_number":888,"context_line":"unscoped token, Keystone will issue JavaScript code that redirects the web"},{"line_number":889,"context_line":"browser to the originating Horizon. An unscoped federated token will be"},{"line_number":890,"context_line":"included in the form being sent."},{"line_number":891,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":1,"id":"fad55976_63104ba9","line":888,"in_reply_to":"1aa78d24_91f7af8b","updated":"2016-07-16 21:49:07.000000000","message":"Done","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"11a4c3ff00ec7574af410c152fd8c0520fb3d2b9","unresolved":false,"context_lines":[{"line_number":926,"context_line":""},{"line_number":927,"context_line":"The response will be a full SAML assertion. Note that for readability the"},{"line_number":928,"context_line":"certificate has been truncated. Server will also set two HTTP headers:"},{"line_number":929,"context_line":"``X-sp-url`` and ``X-auth-url``. The former is the URL where assertion should"},{"line_number":930,"context_line":"be sent, whereas the latter remote URL where token will be issued once the"},{"line_number":931,"context_line":"client is finally authenticated."},{"line_number":932,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":1,"id":"1aa78d24_51342749","line":929,"updated":"2016-07-15 02:18:00.000000000","message":"X-SP-URL * and X-AUTH-URL* ?","commit_id":"7fa1217069911e9859fac49f710817c41e817c8e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"1d9a26c12f44fcdbd741837b095c38f042c3f133","unresolved":false,"context_lines":[{"line_number":668,"context_line":".. TODO(samueldmq): These examples should go into the create mapping API spec,"},{"line_number":669,"context_line":"   rather than in the main api-ref page."},{"line_number":670,"context_line":""},{"line_number":671,"context_line":"Example Mapping Rules"},{"line_number":672,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":673,"context_line":""},{"line_number":674,"context_line":"Map identities to their own groups"}],"source_content_type":"text/x-c++src","patch_set":2,"id":"fad55976_e31c3bc3","line":671,"range":{"start_line":671,"start_character":0,"end_line":671,"end_character":21},"updated":"2016-07-16 21:50:45.000000000","message":"I\u0027d be OK with removing all of these, they are already listed here:  http://docs.openstack.org/developer/keystone/federation/federated_identity.html#mapping-combinations","commit_id":"4fcfc4dc38806afcd6f26c2f5f66959347a164eb"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"1d9a26c12f44fcdbd741837b095c38f042c3f133","unresolved":false,"context_lines":[{"line_number":822,"context_line":"Request an unscoped OS-FEDERATION token"},{"line_number":823,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":824,"context_line":""},{"line_number":825,"context_line":".. rest_method::  GET/POST /OS-FEDERATION/identity_providers/{identity_provider}/protocols/{protocol}/auth"},{"line_number":826,"context_line":""},{"line_number":827,"context_line":"A federated ephemeral user may request an unscoped token, which can be used to"},{"line_number":828,"context_line":"get a scoped token."}],"source_content_type":"text/x-c++src","patch_set":2,"id":"fad55976_437a67f2","line":825,"range":{"start_line":825,"start_character":18,"end_line":825,"end_character":26},"updated":"2016-07-16 21:50:45.000000000","message":"this didn\u0027t render, maybe just say GET for now?","commit_id":"4fcfc4dc38806afcd6f26c2f5f66959347a164eb"},{"author":{"_account_id":19985,"name":"Ryosuke Mizuno","email":"r-mizuno@rs.jp.nec.com","username":"r-mizuno"},"change_message_id":"fe327a8e6ed3835acc8086f8196983efc4b619ed","unresolved":false,"context_lines":[{"line_number":230,"context_line":"    \u003chttp://docs.python.org/2/library/re.html\u003e`__ search against the remote"},{"line_number":231,"context_line":"    attribute ``type``."},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"  The ``blacklist`` and ``whitelist`` rules are always used in conjuction with"},{"line_number":234,"context_line":"  ``type``."},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"  - ``blacklist`` (list of strings)"}],"source_content_type":"text/x-c++src","patch_set":4,"id":"dada55a8_a0e1cc9c","line":233,"range":{"start_line":233,"start_character":63,"end_line":233,"end_character":73},"updated":"2016-07-19 07:39:27.000000000","message":"(nit) s/conjuction/conjunction","commit_id":"53b5b9978517bb61611ece104828863a0b7fa11e"},{"author":{"_account_id":20259,"name":"Clenimar Filemon","email":"clenimar@lsd.ufcg.edu.br","username":"clenimar"},"change_message_id":"1e27c9a635d64d787f516fba762f1a25f8abe1a0","unresolved":false,"context_lines":[{"line_number":299,"context_line":"Register an Identity Provider"},{"line_number":300,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":".. rest_method::  PUT /OS-FEDERATION/identity_providers/{idp_id}"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"Normal response codes: 201"},{"line_number":305,"context_line":"Error response codes: 409"}],"source_content_type":"text/x-c++src","patch_set":4,"id":"dada55a8_eb544e55","line":302,"updated":"2016-07-19 00:46:00.000000000","message":"Missing a /v3 here. Same for all routes.","commit_id":"53b5b9978517bb61611ece104828863a0b7fa11e"}],"api-ref/source/v3-ext/samples/OS-FEDERATION/domain-list-response.json":[{"author":{"_account_id":20259,"name":"Clenimar Filemon","email":"clenimar@lsd.ufcg.edu.br","username":"clenimar"},"change_message_id":"1e27c9a635d64d787f516fba762f1a25f8abe1a0","unresolved":false,"context_lines":[{"line_number":5,"context_line":"            \"enabled\": true,"},{"line_number":6,"context_line":"            \"id\": \"37ef61\","},{"line_number":7,"context_line":"            \"links\": {"},{"line_number":8,"context_line":"                \"self\": \"http://identity:35357/v3/domains/37ef61\""},{"line_number":9,"context_line":"            },"},{"line_number":10,"context_line":"            \"name\": \"my domain\""},{"line_number":11,"context_line":"        }"}],"source_content_type":"application/json","patch_set":4,"id":"dada55a8_4b68faf5","line":8,"range":{"start_line":8,"start_character":32,"end_line":8,"end_character":46},"updated":"2016-07-19 00:46:00.000000000","message":"Should be \u0027example.com/identity\u0027. Same for all other occurrences.","commit_id":"53b5b9978517bb61611ece104828863a0b7fa11e"}]}
