Author: prabath
Date: Mon Jan 21 02:11:02 2008
New Revision: 12599
Log:
added SReg support for OpenID Infocards
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
Mon Jan 21 02:11:02 2008
@@ -2,8 +2,10 @@
import java.io.IOException;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Map.Entry;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -25,6 +27,7 @@
import org.openid4java.message.ParameterList;
import org.openid4java.message.ax.AxMessage;
import org.openid4java.message.ax.FetchResponse;
+import org.openid4java.message.sreg.SRegMessage;
import org.openid4java.message.sreg.SRegRequest;
import org.openid4java.message.sreg.SRegResponse;
import org.wso2.solutions.identity.IdentityConstants;
@@ -377,28 +380,51 @@
if (authResponse instanceof AuthSuccess) {
- FetchResponse fetchResp = null;
AuthSuccess authSuccess = null;
MessageExtension extension = null;
authSuccess = (AuthSuccess) authResponse;
- extension = authSuccess.getExtension(AxMessage.OPENID_NS_AX);
+ if (authSuccess.hasExtension(AxMessage.OPENID_NS_AX)) {
+ extension = authSuccess
+ .getExtension(AxMessage.OPENID_NS_AX);
+
+ FetchResponse fetchResp = null;
+ List aliases = null;
+ Map types = null;
+ String alias = null;
+ List values = null;
- if (authSuccess.hasExtension(AxMessage.OPENID_NS_AX)
- && extension instanceof FetchResponse) {
fetchResp = (FetchResponse) extension;
- List aliases = fetchResp.getAttributeAliases();
- Map types = fetchResp.getAttributeTypes();
- String alias;
- List values;
+ aliases = fetchResp.getAttributeAliases();
+ types = fetchResp.getAttributeTypes();
+
for (Object a : aliases) {
alias = (String) a;
values = fetchResp.getAttributeValues(alias);
request.setAttribute(alias.toLowerCase(),
(String) values.get(0));
}
+ } else if (authSuccess
+
.hasExtension(IdentityConstants.OpenId.SimpleRegAttributes.NS_SREG)) {
+
+ SRegResponse regResponse = null;
+ Iterator iterator = null;
+ Map attributes = null;
+ String key = null;
+
+ extension = authSuccess
+
.getExtension(IdentityConstants.OpenId.SimpleRegAttributes.NS_SREG);
+ regResponse = (SRegResponse) extension;
+
+ attributes = regResponse.getAttributes();
+ iterator = attributes.keySet().iterator();
+
+ while (iterator.hasNext()) {
+ key = (String)iterator.next();
+
request.setAttribute(key.toLowerCase(),attributes.get(key));
+ }
}
}
}
_______________________________________________
Identity-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/identity-dev