It sounds like you're asking the OP to provide client-side session management 
as a service. There may be value in standardizing that, but I think it goes 
beyond what Backchannel Logout is intended to do.

--
Annabelle Richard Backman
Amazon – Identity Services
 
On 3/30/18, 10:42 AM, "Bill Burke" <bbu...@redhat.com> wrote:

    On Fri, Mar 30, 2018 at 12:57 PM, Richard Backman, Annabelle
    <richa...@amazon.com> wrote:
    >
    > FWIW, our OP implementation allows RPs to register their node specific
    > logout endpoints at boot.  This request is authenticated via client
    > authentication.  We also extended code to token request to transmit the
    > local session id.  The OP stores this information.  Backchannel logout 
POSTS
    > to each and every registered node and transmits a JWS signed by the OP
    > containing the local session ids to invalidate.  That's been enough to 
cover
    > all the weirdness out there so far.
    >
    > [richanna]
    >
    > What does “at boot” mean in the context of OpenID Connect? Do you mean 
that
    > for every logout, the OP makes a Backchannel Logout request to each of the
    > client’s node-specific logout endpoints?
    
    Just in case....This is all for backchannel logouts which are out of
    band from the browser.
    
    Node boots up and registers with the Auth Server its logout endpoint.
    
    POST /authserver/node_registration
    
    client_id=myclient&
    client_secret=geheim&
    node=https://node.internal:8443/app/oidc/_logout
    
     As I mentioned earlier, the node doing code to token request will
    also pass its local session id so it can be associated with the Auth
    server's SID.  When an admin initiates a forced logout, a backchannel
    logout request is sent to each client's logout endpoint.  If the
    client has nodes that have registered, this request is duplicated to
    each node.
    
    
    
    
    
    > If that’s the case, why can’t the
    > client make those calls themselves, from whichever host happens to receive
    > the Backchannel Logout request?
    >
    
    Your assuming that each node has knowledge of cluster topology which
    isn't neccesarily true.  Each additional proprietary extension we've
    made is optional.  Nodes can optionally register themselves.  Nodes
    can optionally send local session ids with the code to token request.
    
    
    >
    >
    > Since the client only cares about node-local state, they should be able to
    > maintain the mapping between OP session IDs and local session IDs on their
    > side.
    >
    
    Considering a cluster of load balanced web applications that dont'
    have session replication and don't have knowledge of cluster topology.
    The only way for the Auth Server to perform backchannel logout is to
    send the same backchannel logout to each and every node.
    
    There's also the case where the nodes do support session replication,
    but don't have a way to get at topology or a way to store the
    association between the SID and application session id.  In this case
    you don't need node registration, but you do need a way to associate
    the SID with the local session id.
    
    As a IDP vendor, you have to support all these types of clients.
    Telling developers that they are just going to have to manage this
    themselves is not really an option if you want adoption.
    
    Bill
    

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to