function _generateAssertion(aAudience, aIdentity, aCallback) {
    log("_generateAssertion: audience:", aAudience, "identity:", aIdentity);

    let id = this._store.fetchIdentity(aIdentity);
    if (! (id && id.cert)) {
      let errStr = "Cannot generate an assertion without a certificate";
      log("ERROR: _generateAssertion:", errStr);
      aCallback(errStr);
      return;
    }

    let kp = id.keyPair;

    if (!kp) {
      let errStr = "Cannot generate an assertion without a keypair";
      log("ERROR: _generateAssertion:", errStr);
      aCallback(errStr);
      return;
    }

    jwcrypto.generateAssertion(id.cert, kp, aAudience, aCallback);
  }
/**
   * Generate an assertion, including provisioning via IdP if necessary,
   * but no user interaction, so if provisioning fails, aCallback is invoked
   * with an error.
   *
   * @param aAudience
   *        (string) web origin
   *
   * @param aIdentity
   *        (string) the email we're logging in with
   *
   * @param aCallback
   *        (function) callback to invoke on completion
   *                   with first-positional parameter the error.
   */
Generate an assertion, including provisioning via IdP if necessary,
but no user interaction, so if provisioning fails, aCallback is invoked
with an error.

@param aAudience
(string) web origin

@param aIdentity
(string) the email we're logging in with

@param aCallback
(function) callback to invoke on completion
with first-positional parameter the error.
Generate an assertion including provisioning via IdP if necessary but no user interaction so if provisioning fails aCallback is invoked with an error . @param aAudience ( string ) web origin @param aIdentity ( string ) the email we ' re logging in with @param aCallback ( function ) callback to invoke on completion with first - positional parameter the error .
function _generateAssertion(aAudience, aIdentity, aCallback) {
    log("_generateAssertion: audience:", aAudience, "identity:", aIdentity);
    let id = this._store.fetchIdentity(aIdentity);
    if (! (id && id.cert)) {
      let errStr = "Cannot generate an assertion without a certificate";
      log("ERROR: _generateAssertion:", errStr);
      aCallback(errStr);
      return;
    }
    let kp = id.keyPair;
    if (!kp) {
      let errStr = "Cannot generate an assertion without a keypair";
      log("ERROR: _generateAssertion:", errStr);
      aCallback(errStr);
      return;
    }
    jwcrypto.generateAssertion(id.cert, kp, aAudience, aCallback);
  }
function _generateAssertion ( aAudience , aIdentity , aCallback ) { log ( "_generateAssertion: audience:" , aAudience , "identity:" , aIdentity ) ; let id = this . _store . fetchIdentity ( aIdentity ) ; if ( ! ( id && id . cert ) ) { let errStr = "Cannot generate an assertion without a certificate" ; log ( "ERROR: _generateAssertion:" , errStr ) ; aCallback ( errStr ) ; return ; } let kp = id . keyPair ; if ( ! kp ) { let errStr = "Cannot generate an assertion without a keypair" ; log ( "ERROR: _generateAssertion:" , errStr ) ; aCallback ( errStr ) ; return ; } jwcrypto . generateAssertion ( id . cert , kp , aAudience , aCallback ) ; }
Generate an assertion, including provisioning via IdP if necessary,
 but no user interaction, so if provisioning fails, aCallback is invoked
 with an error.
Generate an assertion including provisioning via IdP if necessary but no user interaction so if provisioning fails aCallback is invoked with an error .