Author: prabath
Date: Wed Feb  6 01:23:23 2008
New Revision: 13317

Log:

added support for OpenID Attribute Exchange

Modified:
   
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/openid/relyingparty/OpenIDConsumer.java

Modified: 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/openid/relyingparty/OpenIDConsumer.java
==============================================================================
--- 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/openid/relyingparty/OpenIDConsumer.java
      (original)
+++ 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/openid/relyingparty/OpenIDConsumer.java
      Wed Feb  6 01:23:23 2008
@@ -24,6 +24,7 @@
 import org.openid4java.message.MessageExtension;
 import org.openid4java.message.ParameterList;
 import org.openid4java.message.ax.AxMessage;
+import org.openid4java.message.ax.FetchRequest;
 import org.openid4java.message.ax.FetchResponse;
 import org.openid4java.message.sreg.SRegRequest;
 import org.openid4java.message.sreg.SRegResponse;
@@ -103,21 +104,43 @@
             AuthRequest authReq = manager.authenticate(discovered, request
                     .getReturnUrl());
 
-            // OpenID Simple Registration Extension 1.1 - Draft 1
-            SRegRequest sregReq = SRegRequest.createFetchRequest();
+            if (request.getRequestType() == 
OpenIDRequestType.SIMPLE_REGISTRATION
+                    || request.getRequestType() == null) {
 
-            if (request.getRequiredClaims() != null
-                    && request.getRequiredClaims().size() > 0) {
-                for (Object requiredClaim : request.getRequiredClaims()) {
-                    sregReq.addAttribute((String) requiredClaim, true);
+                // OpenID Simple Registration Extension 1.1 - Draft 1
+                SRegRequest sregReq = SRegRequest.createFetchRequest();
+
+                if (request.getRequiredClaims() != null
+                        && request.getRequiredClaims().size() > 0) {
+                    for (Object requiredClaim : request.getRequiredClaims()) {
+                        sregReq.addAttribute((String) requiredClaim, true);
+                    }
+                } else {
+                    // When RP does not set any required parameters we stick to
+                    // the default parameter set.
+                    setDefaultRequestParams(sregReq);
                 }
-            } else {
-                // When RP does not set any required parameters we stick to the
-                // default parameter set.
-                setDefaultRequestParams(sregReq);
+
+                authReq.addExtension(sregReq);
             }
 
-            authReq.addExtension(sregReq);
+            if (request.getRequestType() == 
OpenIDRequestType.ATTRIBUTE_EXCHANGE) {
+
+                FetchRequest fetchReq = FetchRequest.createFetchRequest();
+
+                if (request.getRequiredClaims() != null
+                        && request.getRequiredClaims().size() > 0) {
+                    
+                    OpenIDAxAttribute attr = null; 
+                    
+                    for (Object requiredClaim : request.getRequiredClaims()) {
+                        attr = (OpenIDAxAttribute)requiredClaim;
+                        fetchReq.addAttribute(attr.getAttributeName(), 
attr.getNamespace(), true);
+                    }
+                } 
+                
+                authReq.addExtension(fetchReq);
+            }
 
             // Redirect to the OpenID provider server for authentication.
             try {

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

Reply via email to