function logout(aRpCallerId) {
    log("logout: RP caller id:", aRpCallerId);
    let rp = this._rpFlows[aRpCallerId];
    if (rp && rp.origin) {
      let origin = rp.origin;
      log("logout: origin:", origin);
      this._doLogout(rp, {origin: origin});
    } else {
      log("logout: no RP found with id:", aRpCallerId);
    }
    // We don't delete this._rpFlows[aRpCallerId], because
    // the user might log back in again.
  }
/**
   * Invoked when a user wishes to logout of a site (for instance, when clicking
   * on an in-content logout button).
   *
   * @param aRpCallerId
   *        (integer)  the id of the doc object obtained in .watch()
   *
   */
Invoked when a user wishes to logout of a site (for instance, when clicking
on an in-content logout button).

@param aRpCallerId
(integer)  the id of the doc object obtained in .watch()
Invoked when a user wishes to logout of a site ( for instance when clicking on an in - content logout button ) . @param aRpCallerId ( integer ) the id of the doc object obtained in . watch ()
function logout(aRpCallerId) {
    log("logout: RP caller id:", aRpCallerId);
    let rp = this._rpFlows[aRpCallerId];
    if (rp && rp.origin) {
      let origin = rp.origin;
      log("logout: origin:", origin);
      this._doLogout(rp, {origin: origin});
    } else {
      log("logout: no RP found with id:", aRpCallerId);
    }
  }
function logout ( aRpCallerId ) { log ( "logout: RP caller id:" , aRpCallerId ) ; let rp = this . _rpFlows [ aRpCallerId ] ; if ( rp && rp . origin ) { let origin = rp . origin ; log ( "logout: origin:" , origin ) ; this . _doLogout ( rp , { origin : origin } ) ; } else { log ( "logout: no RP found with id:" , aRpCallerId ) ; } }
Invoked when a user wishes to logout of a site (for instance, when clicking
 on an in-content logout button).
Invoked when a user wishes to logout of a site ( for instance when clicking on an in - content logout button ) .
// We don't delete this._rpFlows[aRpCallerId], because // the user might log back in again.