Author: prabath
Date: Sat Mar  8 10:26:29 2008
New Revision: 14607

Log:

fixes as per the interop testing with blogger

Modified:
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProvider.java
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDUtil.java
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDAttributeExchange.java
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDSimpleReg.java
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/resources.properties

Modified: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProvider.java
==============================================================================
--- 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProvider.java
     (original)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProvider.java
     Sat Mar  8 10:26:29 2008
@@ -16,6 +16,7 @@
 import org.openid4java.message.DirectError;
 import org.openid4java.message.Message;
 import org.openid4java.message.MessageException;
+import org.openid4java.message.MessageExtension;
 import org.openid4java.message.ParameterList;
 import org.openid4java.server.ServerException;
 import org.openid4java.server.ServerManager;
@@ -176,7 +177,7 @@
      * @throws IdentityProviderException
      * @throws ServerException
      * @throws MessageException
-     * @throws AssociationException 
+     * @throws AssociationException
      */
     private String checkSetupOrImmediate(HttpServletRequest httpReq,
             ParameterList params) throws IdentityProviderException,
@@ -212,7 +213,8 @@
             persistenceManager = IPPersistenceManager.getPersistanceManager();
             returnTo = params
                     
.getParameterValue(IdentityConstants.OpenId.ATTR_RETURN_TO);
-            rpdo = persistenceManager.getOpenIDUserRP(userId, returnTo);
+            rpdo = persistenceManager.getOpenIDUserRP(userId, OpenIDUtil
+                    .getRelyingPartyUrl(returnTo));
             if (rpdo != null && rpdo.length > 0)
                 profileName = rpdo[0].getDefaultProfileName();
             authenticatedAndApproved = true;
@@ -263,13 +265,17 @@
                 req.setExtensionAlias((String) alias);
                 extension = OpenIDExtensionFactory.getInstance().getExtension(
                         req);
-                if (extension != null)
-                    message.addExtension(extension.getMessageExtension(userId,
-                            profileName));
-
-                AuthSuccess authSuccess = (AuthSuccess) message;
-                authSuccess.setSignExtension((String) alias);
-                manager.sign(authSuccess);
+                if (extension != null) {
+                    MessageExtension messageExtension = null;
+                    messageExtension = extension.getMessageExtension(userId,
+                            profileName);
+                    if (messageExtension != null) {
+                        message.addExtension(messageExtension);
+                        AuthSuccess authSuccess = (AuthSuccess) message;
+                        authSuccess.setSignExtension((String) alias);
+                        manager.sign(authSuccess);
+                    }
+                }
             }
 
             return message.getDestinationUrl(true);

Modified: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDUtil.java
==============================================================================
--- 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDUtil.java
 (original)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDUtil.java
 Sat Mar  8 10:26:29 2008
@@ -193,4 +193,35 @@
         }
         return normalized.toString();
     }
+
+    /**
+     * Normalize the provided relying party URL
+     * @param rpUrl Relying party URL to be normalized
+     * @return Normalized relying party URL
+     * @throws RelyingPartyException
+     */
+    public static String getRelyingPartyUrl(String rpUrl)
+            throws IdentityProviderException {
+
+        URI uri = null;
+        URL url = null;
+
+        try {
+            uri = new URI(rpUrl);
+        } catch (URISyntaxException e) {
+            throw new IdentityProviderException(
+                    IdentityConstants.ErrorCodes.INVALID_OPENID_RETURNTO);
+        }
+
+        try {
+            url = uri.normalize().toURL();
+            url = new URL(url.getProtocol().toLowerCase(), url.getHost()
+                    .toLowerCase(), url.getPort(), url.getPath());
+            return url.toString();
+
+        } catch (MalformedURLException e) {
+            throw new IdentityProviderException(
+                    IdentityConstants.ErrorCodes.INVALID_OPENID_RETURNTO);
+        }
+    }
 }
\ No newline at end of file

Modified: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDAttributeExchange.java
==============================================================================
--- 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDAttributeExchange.java
 (original)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDAttributeExchange.java
 Sat Mar  8 10:26:29 2008
@@ -45,6 +45,7 @@
 
         MessageExtension extensions = null;
         AuthRequest authRequest = null;
+        FetchResponse fetchResponse = null;
 
         try {
             authRequest = request.getAuthRequest();
@@ -54,8 +55,7 @@
 
                 Map required = null;
                 Map optional = null;
-                FetchRequest fetchRequest = null;
-                FetchResponse fetchResponse = null;
+                FetchRequest fetchRequest = null;                
                 Map<String, OpenIDClaim> claimValues = null;
 
                 fetchRequest = (FetchRequest) extensions;
@@ -80,14 +80,11 @@
                         new HashMap());
                 claimValues = populateAttributeValues(required, userId,
                         profileName);
-                setAttributeExchangeValues(fetchResponse, claimValues);
-
-                return fetchResponse;
-
-            } else {
-                log.error("Unsupported request type");
-                throw new UnsupportedOperationException("TODO");
-            }
+                setAttributeExchangeValues(fetchResponse, claimValues);        
        
+            } 
+            
+            return fetchResponse;
+            
         } catch (MessageException e) {
             throw new IdentityProviderException(
                     IdentityConstants.ErrorCodes.OPENID_RESP_GENERATION_FAILED,

Modified: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDSimpleReg.java
==============================================================================
--- 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDSimpleReg.java
 (original)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDSimpleReg.java
 Sat Mar  8 10:26:29 2008
@@ -42,8 +42,10 @@
      */
     public MessageExtension getMessageExtension(String userId,
             String profileName) throws IdentityProviderException {
+        
         MessageExtension extension = null;
         AuthRequest authRequest = null;
+        SRegResponse response = null;
 
         try {
             authRequest = request.getAuthRequest();
@@ -66,7 +68,6 @@
                 List optional = null;
                 Map userDataSReg = null;
                 Map<String, OpenIDClaim> claimValues = null;
-                SRegResponse response = null;
 
                 sregReq = (SRegRequest) extension;
 
@@ -93,12 +94,10 @@
                 claimValues = populateAttributeValues(required, userId,
                         profileName);
                 setSimpleAttributeRegistrationValues(response, claimValues);
-
-                return response;
-            } else {
-                log.error("Unsupported request type");
-                throw new UnsupportedOperationException("TODO");
             }
+            
+            return response;
+            
         } catch (MessageException e) {
             throw new IdentityProviderException(
                     IdentityConstants.ErrorCodes.OPENID_RESP_GENERATION_FAILED,

Modified: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/resources.properties
==============================================================================
--- 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/resources.properties
   (original)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/resources.properties
   Sat Mar  8 10:26:29 2008
@@ -64,6 +64,7 @@
 openIDTokenCreationFailed=OpenID token creation failed
 requredAttributeMissing=Required attribute,openid.identity, is missing
 noUsersFound=No users found, corresponding to the given OpenID
+invalidOpenIDReturnTo=Invalid OpenID return_to url
 
 #db errors
 createDuplicateEntity = Duplcate entity exist

_______________________________________________
Identity-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/identity-dev

Reply via email to