Package com.google.gerrit.common.auth.openid

Examples of com.google.gerrit.common.auth.openid.DiscoveryResult


  @SuppressWarnings("unchecked")
  public void discover(final String openidIdentifier, final SignInMode mode,
      final boolean remember, final String returnToken,
      final AsyncCallback<DiscoveryResult> cb) {
    if (!isAllowedOpenID(openidIdentifier)) {
      cb.onSuccess(new DiscoveryResult(DiscoveryResult.Status.NOT_ALLOWED));
      return;
    }

    final State state;
    state = init(openidIdentifier, mode, remember, returnToken);
    if (state == null) {
      cb.onSuccess(new DiscoveryResult(DiscoveryResult.Status.NO_PROVIDER));
      return;
    }

    final AuthRequest aReq;
    try {
      aReq = manager.authenticate(state.discovered, state.retTo.toString());
      aReq.setRealm(state.contextUrl);

      if (requestRegistration(aReq)) {
        final SRegRequest sregReq = SRegRequest.createFetchRequest();
        sregReq.addAttribute("fullname", true);
        sregReq.addAttribute("email", true);
        aReq.addExtension(sregReq);

        final FetchRequest fetch = FetchRequest.createFetchRequest();
        fetch.addAttribute("FirstName", SCHEMA_FIRSTNAME, true);
        fetch.addAttribute("LastName", SCHEMA_LASTNAME, true);
        fetch.addAttribute("Email", SCHEMA_EMAIL, true);
        aReq.addExtension(fetch);
      }

      if (0 <= papeMaxAuthAge) {
        final PapeRequest pape = PapeRequest.createPapeRequest();
        pape.setMaxAuthAge(papeMaxAuthAge);
        aReq.addExtension(pape);
      }
    } catch (MessageException e) {
      log.error("Cannot create OpenID redirect for " + openidIdentifier, e);
      cb.onSuccess(new DiscoveryResult(DiscoveryResult.Status.ERROR));
      return;
    } catch (ConsumerException e) {
      log.error("Cannot create OpenID redirect for " + openidIdentifier, e);
      cb.onSuccess(new DiscoveryResult(DiscoveryResult.Status.ERROR));
      return;
    }

    cb.onSuccess(new DiscoveryResult(aReq.getDestinationUrl(false), //
        aReq.getParameterMap()));
  }
View Full Code Here

TOP

Related Classes of com.google.gerrit.common.auth.openid.DiscoveryResult

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.