Package org.openid4java.message

Examples of org.openid4java.message.AuthSuccess


    try {
      VerificationResult verificationResult = getConsumerManager().verify(getOpenIdReturnUrl(), response,
          discoveryInformation);
      Identifier verifiedIdentifier = verificationResult.getVerifiedId();
      if (verifiedIdentifier != null) {
        AuthSuccess authSuccess = (AuthSuccess) verificationResult.getAuthResponse();

        OpenIdDetails details = new OpenIdDetails();
        details.setOpenId(verifiedIdentifier.getIdentifier());

        // try to get additional details
        if (authSuccess.hasExtension(AxMessage.OPENID_NS_AX)) {
          MessageExtension ext = authSuccess.getExtension(AxMessage.OPENID_NS_AX);

          if (ext instanceof FetchResponse) {
            FetchResponse fetchResp = (FetchResponse) ext;

            details.setMail(fetchResp.getAttributeValue("email"));

            String fullname = fetchResp.getAttributeValue("fullname");
            if (fullname == null) {
              String firstname = fetchResp.getAttributeValue("firstname");
              String lastname = fetchResp.getAttributeValue("lastname");

              if (firstname == null) {
                fullname = lastname == null ? null : lastname;
              } else if (lastname != null) {
                fullname = firstname + " " + lastname;
              } else {
                fullname = firstname;
              }
            }
            details.setName(fullname);
          }
        } else if (authSuccess.hasExtension(SRegMessage.OPENID_NS_SREG)) {
          MessageExtension extension = authSuccess.getExtension(SRegMessage.OPENID_NS_SREG);
          if (extension instanceof SRegResponse) {
            SRegResponse sRegResponse = (SRegResponse) extension;
            details.setMail(sRegResponse.getAttributeValue("email"));
            details.setName(sRegResponse.getAttributeValue("fullname"));
          }
View Full Code Here


                    String firstName = null;
                    String lastName = null;
                    String nickname = null;               
                    String fullName = null;
                    // extract requested attribute exchange data
                    AuthSuccess authResponse = (AuthSuccess)verification.getAuthResponse();
                    if (authResponse.hasExtension(AxMessage.OPENID_NS_AX))
                    {
                        try
                        {
                            FetchResponse axResponse = (FetchResponse)authResponse.getExtension(AxMessage.OPENID_NS_AX);
                            email = axResponse.getAttributeValue("email");
                            fullName = axResponse.getAttributeValue("fullname");
                            firstName = axResponse.getAttributeValue("firstname");
                            lastName = axResponse.getAttributeValue("lastname");
                            nickname = axResponse.getAttributeValue("nickname");
                        }
                        catch (OpenIDException oide)
                        {
                            throw new RuntimeException("Unexpected OpenID authenticated attribute exchange fetch exception: "+oide, oide);
                        }
                    }
                    // extract requested simple registration data
                    if (authResponse.hasExtension(SRegMessage.OPENID_NS_SREG))
                    {
                        try
                        {
                            SRegResponse sregResponse = (SRegResponse)authResponse.getExtension(SRegMessage.OPENID_NS_SREG);
                            email = sregResponse.getAttributeValue("email");
                            fullName = sregResponse.getAttributeValue("fullname");
                            nickname = sregResponse.getAttributeValue("nickname");
                        }
                        catch (OpenIDException oide)
View Full Code Here

            VerificationResults results = new VerificationResults();
            // verify OpenId authentication request
            String openIdMode = authParams.getParameterValue("openid.mode");
            if ((openIdMode != null) && openIdMode.equals("id_res"))
            {
                AuthSuccess authResponse = AuthSuccess.createAuthSuccess(authParams);
                if ((authResponse != null) && authResponse.isVersion2() && (authResponse.getIdentity() != null) && (authResponse.getClaimed() != null))
                {
                    // get OpenId identifier
                    String providerId = authResponse.getIdentity();
                    Identifier responseClaimedId = openIDStep2ConsumerManager.getDiscovery().parseIdentifier(authResponse.getClaimed(), true);
                    String responseEndpoint = authResponse.getOpEndpoint();
                   
                    if (log.isDebugEnabled())
                    {
                        log.debug("Step2 discovery for identity: "+responseClaimedId);
                    }

                    // get Step2 secure discovery information
                    SecureDiscoveryInformation secureDiscovered = null;
                   
                    // validate previously discovered secure discovery information
                    if (discovered instanceof SecureDiscoveryInformation)
                    {
                        // check for matching version, identifiers, and endpoints
                        if (discovered.isVersion2() && discovered.hasClaimedIdentifier() && discovered.getClaimedIdentifier().equals(responseClaimedId) && discovered.getOPEndpoint().equals(responseEndpoint))
                        {
                            String discoveredProviderId = (discovered.hasDelegateIdentifier() ? discovered.getDelegateIdentifier() : discovered.getClaimedIdentifier().getIdentifier());
                            if (discoveredProviderId.equals(providerId))
                            {
                                secureDiscovered = (SecureDiscoveryInformation)discovered;

                                if (log.isDebugEnabled())
                                {
                                    log.debug("Matched previously discovered Step2 secure discovery information for "+responseClaimedId+" identity: "+secureDiscovered.getOPEndpoint());
                                }
                            }
                        }
                    }

                    // discover secure discovery information if necessary
                    if (secureDiscovered == null)
                    {
                        // perform discovery on claimed identifier
                        List<SecureDiscoveryInformation> discoveredInfos = openIDStep2ConsumerManager.getDiscovery().discover(responseClaimedId);
                        // match secure discovered information: prefer previously associated matches
                        for (SecureDiscoveryInformation discoveredInfo : discoveredInfos)
                        {
                            // match secure discovered information
                            String version = discoveredInfo.getVersion();
                            if ((version != null) && version.equals(DiscoveryInformation.OPENID2_OP) && discoveredInfo.isVersion2() && discoveredInfo.getOPEndpoint().equals(responseEndpoint))
                            {
                                String discoveredProviderId = (discoveredInfo.hasDelegateIdentifier() ? discoveredInfo.getDelegateIdentifier() : discoveredInfo.getClaimedIdentifier().getIdentifier());
                                if (discoveredProviderId.equals(providerId))
                                {
                                    // match previously associated or first discovered
                                    if (openIDStep2ConsumerManager.getPrivateAssociationStore().load(discoveredInfo.getOPEndpoint().toString(), authResponse.getHandle()) != null)
                                    {
                                        secureDiscovered = discoveredInfo;
                                        break;
                                    }
                                    else if (secureDiscovered == null)
View Full Code Here

              discovered);

      // examine the verification result and extract the verified identifier
      Identifier verified = verification.getVerifiedId();
      if (verified != null) {
        AuthSuccess authSuccess = (AuthSuccess) verification.getAuthResponse();

        HttpSession session = httpReq.getSession(true);
        session.setAttribute("openid_identifier", authSuccess.getIdentity());

        if (authSuccess.hasExtension(AxMessage.OPENID_NS_AX)) {
          FetchResponse fetchResp = (FetchResponse) authSuccess
                  .getExtension(AxMessage.OPENID_NS_AX);
          session.setAttribute("emailFromFetch", fetchResp.getAttributeValues("email").get(0));
        }
        if (authSuccess.hasExtension(SRegMessage.OPENID_NS_SREG)) {
          SRegResponse sregResp = (SRegResponse) authSuccess
                  .getExtension(SRegMessage.OPENID_NS_SREG);
          session.setAttribute("emailFromSReg", sregResp.getAttributeValue("email"));
        }
        return verified; // success
      }
View Full Code Here

    return result;
  }
 
  private AuthSuccess createMockAuthSuccess(FetchResponse fetchResponse, SRegResponse regResponse,
          boolean hasAXMessage, boolean hasSReg) throws MessageException {
    AuthSuccess authSuccess = createMock(AuthSuccess.class);
    expect(authSuccess.getIdentity()).andReturn("id");
    expect(authSuccess.hasExtension(eq(AxMessage.OPENID_NS_AX))).andReturn(hasAXMessage);
    expect(authSuccess.hasExtension(eq(SRegMessage.OPENID_NS_SREG))).andReturn(hasSReg);
    if(hasAXMessage) {
      expect(authSuccess.getExtension(eq(AxMessage.OPENID_NS_AX))).andReturn(fetchResponse);
    }
    if(hasSReg) {
      expect(authSuccess.getExtension(eq(SRegMessage.OPENID_NS_SREG))).andReturn(regResponse);
    }
    replay(authSuccess);
    return authSuccess;
  }
View Full Code Here

    DiscoveryInformation info = createMockInfo();
    HttpSession session = createMockSession(info, true, true, true);
    HttpServletRequest req = createMockRequest(session);

    AuthRequest authRequest = createMockAuthRequest();
    AuthSuccess authSuccess = createMockAuthSuccess(createMockFetchResponse(), createRegResponse(),
            true, true);
    Identifier id = createMockIdentifier();
    VerificationResult result = createMockVerificationResult(id, authSuccess);
    //TODO this should return a list of what?
    expect(mockManager.discover(eq("discover"))).andReturn(Lists.newArrayList());
View Full Code Here

    DiscoveryInformation info = createMockInfo();
    HttpSession session = createMockSession(info, false, false, true);
    HttpServletRequest req = createMockRequest(session);

    AuthRequest authRequest = createMockAuthRequest();
    AuthSuccess authSuccess = createMockAuthSuccess(createMockFetchResponse(), createRegResponse(),
            true, true);
    VerificationResult result = createMockVerificationResult(null, authSuccess);
    //TODO this should return a list of what?
    expect(mockManager.discover(eq("discover"))).andReturn(Lists.newArrayList());
    expect(mockManager.associate(anyObject(List.class))).andReturn(info);
View Full Code Here

    DiscoveryInformation info = createMockInfo();
    HttpSession session = createMockSession(info, false, false, false);
    HttpServletRequest req = createMockRequest(session);

    AuthRequest authRequest = createMockAuthRequest();
    AuthSuccess authSuccess = createMockAuthSuccess(createMockFetchResponse(), createRegResponse(),
            false, false);
    Identifier id = createMockIdentifier();
    VerificationResult result = createMockVerificationResult(id, authSuccess);
    //TODO this should return a list of what?
    expect(mockManager.discover(eq("discover"))).andReturn(Lists.newArrayList());
View Full Code Here

TOP

Related Classes of org.openid4java.message.AuthSuccess

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.