Author: prabath
Date: Tue Jan 22 21:09:08 2008
New Revision: 12724
Log:
added method header comments
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/OpenIDProviderData.java
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/UserInfoServlet.java
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
Tue Jan 22 21:09:08 2008
@@ -47,34 +47,33 @@
static {
ServerConfiguration serverConfig = null;
- String host = null;
- String httpsPort = null;
+ String openIDServerUrl = null;
serverConfig = ServerConfiguration.getInstance();
- host = serverConfig.getFirstProperty("HostName");
- httpsPort = serverConfig.getFirstProperty("Ports.HTTPS");
+ openIDServerUrl = serverConfig.getFirstProperty("OpenIDServerUrl");
- // This is the OpenID provider server url, right now on https - also
can
- // be on http.
- opAddress = "https://" + host + ":" + httpsPort + "/server/";
+ // This is the OpenID provider server URL
+ opAddress = openIDServerUrl + "/server/";
manager.setOPEndpointUrl(opAddress);
}
/**
+ * Creates an association between the OpenID Provider and the Relying
Party.
*
- * @return
+ * @return Association.
* @throws AssociationException
*/
public static Association getAssocHandle() throws AssociationException {
-
+
return manager.getPrivateAssociations().generate(
org.openid4java.association.Association.TYPE_HMAC_SHA1,
EXPIRES_IN);
}
/**
+ * Generates nonce token to uniquely identify authentication responses.
*
- * @return
+ * @return Nonce token.
*/
public static String getNonce() {
@@ -84,22 +83,29 @@
/**
*
* @param endPoint
+ * End-point URL.
* @param claimedID
- * @param compat
+ * Claim ID of the client.
+ * @param compatibilty
+ * Indicates the compatibility.
* @param returnTo
+ * ReturnTo URL.
* @param nonce
+ * Nonce token to uniquely identify authentication
responses.
* @param assoc
- * @return
+ * Association between the OpenID Provider and the Relying
+ * Party.
+ * @return Signature.
* @throws MessageException
* @throws AssociationException
*/
public static String getSignature(String endPoint, String claimedID,
- boolean compat, String returnTo, String nonce, Association assoc)
- throws MessageException, AssociationException {
+ boolean compatibilty, String returnTo, String nonce,
+ Association assoc) throws MessageException, AssociationException {
AuthSuccess openidResp;
openidResp = AuthSuccess.createAuthSuccess(endPoint, claimedID,
- claimedID, compat, returnTo, nonce, null, assoc, true);
+ claimedID, compatibilty, returnTo, nonce, null, assoc, true);
// sign the message
return openidResp.getSignature();
@@ -107,6 +113,7 @@
}
/**
+ * Process the Relying Party request at the OpenID Provider end.
*
* @param httpReq
* HttpServletRequest
@@ -198,17 +205,21 @@
Map claimValues = null;
fetchReq = (FetchRequest) extensions;
+
+ // Get the required attributes as requested by the RP.
required = fetchReq.getAttributes(true);
+
userDataExt = new HashMap();
+ openIDData = new OpenIDProviderData();
fetchResp = FetchResponse.createFetchResponse(fetchReq,
userDataExt);
- openIDData = new OpenIDProviderData();
claimValues = openIDData.populateAttributeValues(
required, userId);
- openIDData.setAttributeExchangeValues(fetchResp,
claimValues);
+ openIDData.setAttributeExchangeValues(fetchResp,
+ claimValues);
message.addExtension(fetchResp);
} else {
@@ -231,17 +242,21 @@
OpenIDProviderData openIDData = null;
sregReq = (SRegRequest) extension;
+
+ // Get the required attributes as requested by the RP.
required = sregReq.getAttributes(true);
userDataSReg = new HashMap();
+ openIDData = new OpenIDProviderData();
+
response = SRegResponse.createSRegResponse(sregReq,
userDataSReg);
-
- openIDData = new OpenIDProviderData();
+
claimValues = openIDData.populateAttributeValues(
required, userId);
-
openIDData.setSimpleAttributeRegistrationValues(response, claimValues);
+ openIDData.setSimpleAttributeRegistrationValues(
+ response, claimValues);
message.addExtension(response);
@@ -268,8 +283,11 @@
}
/**
+ * Find the user name corresponding to the given OpenID.
*
- * @return
+ * @param openId
+ * User's OpenID
+ * @return User name corresponding the given OpenID.
* @throws ServerException
* @throws IdentityProviderException
*/
@@ -315,26 +333,30 @@
}
/**
+ * Generate OpenID for a given user.
*
* @param user
+ * User
* @return
*/
public static String generateOpenID(String user) {
+
ServerConfiguration serverConfig = null;
- String host = null;
- String httpsPort = null;
+ String openIDServerUrl = null;
serverConfig = ServerConfiguration.getInstance();
- host = serverConfig.getFirstProperty("HostName");
- httpsPort = serverConfig.getFirstProperty("Ports.HTTPS");
+ openIDServerUrl = serverConfig.getFirstProperty("OpenIDServerUrl");
- return "https://" + host + ":" + httpsPort + "/user/" + user;
+ return openIDServerUrl + "/user/" + user;
}
/**
+ * Verify authentication.
*
* @param username
+ * User name
* @param password
+ * Password
* @return
*/
private boolean doLogin(String username, String password) {
@@ -348,9 +370,12 @@
}
/**
+ * Send a direct response to the RP.
*
* @param httpResp
+ * HttpServletResponse
* @param response
+ * Response message
* @return
* @throws IOException
*/
@@ -370,23 +395,22 @@
/**
*
* @param authPage
+ * Authentication page
*/
public void setAuthPage(String authPage) {
ServerConfiguration serverConfig = null;
- String host = null;
- String httpsPort = null;
+ String openIDServerUrl = null;
serverConfig = ServerConfiguration.getInstance();
- host = serverConfig.getFirstProperty("HostName");
- httpsPort = serverConfig.getFirstProperty("Ports.HTTPS");
+ openIDServerUrl = serverConfig.getFirstProperty("OpenIDServerUrl");
- this.authPage = "https://" + host + ":" + httpsPort + "/" + authPage;
+ this.authPage = openIDServerUrl + "/" + authPage;
}
/**
*
- * @return
+ * @return OpenID Provider server URL.
*/
public static String getOpAddress() {
return opAddress;
Modified:
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProviderData.java
==============================================================================
---
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProviderData.java
(original)
+++
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProviderData.java
Tue Jan 22 21:09:08 2008
@@ -19,10 +19,13 @@
public class OpenIDProviderData {
/**
+ * Populate the required claims with claim values.
*
* @param requiredClaims
+ * Required claims as requested by the RP.
* @param userId
- * @return
+ * User ID.
+ * @return A map, populated with required claim values.
* @throws IdentityProviderException
*/
protected Map populateAttributeValues(List requiredClaims, String userId)
@@ -46,10 +49,13 @@
}
/**
+ * Populate the required claims with claim values.
*
* @param requiredClaims
+ * Required claims as requested by the RP.
* @param userId
- * @return
+ * User ID.
+ * @return A map, populated with required claim values.
* @throws IdentityProviderException
*/
protected Map populateAttributeValues(Map requiredClaims, String userId)
@@ -73,11 +79,13 @@
}
/**
+ * Populate the required claims with claim values.
*
* @param requiredClaims
+ * Required claims as requested by the RP.
* @param userId
- * @param claims
- * @return
+ * User ID.
+ * @return A map, populated with required claim values.
* @throws IdentityProviderException
*/
protected Map populateAttributeValues(Collection requiredClaims,
@@ -90,13 +98,15 @@
connector = UserStore.getInstance();
- // get the column names for the URIs
+ // Get the column names for the URIs
iterator = requiredClaims.iterator();
list = new ArrayList();
String tag = null;
ClaimDO claim = null;
+ // First we need to figure-out which attributed we need to retrieve
from
+ // the user store.
while (iterator.hasNext()) {
tag = (String) iterator.next();
claim = (ClaimDO) claims.get(tag);
@@ -110,11 +120,15 @@
Map mapValues = null;
OpenIDClaim openIDClaim = null;
+ // Get the claims values corresponding to the user from the user store.
mapValues = connector.getClaimValues(userId, list);
+
claimValues = new HashMap();
iterator = requiredClaims.iterator();
+ // Iterate through the claim values retrieved and requestedClaims will
+ // be populated with the corresponding values.
while (iterator.hasNext()) {
tag = (String) iterator.next();
claim = (ClaimDO) claims.get(tag);
@@ -134,10 +148,12 @@
}
/**
+ * Populate the response with claim values.
*
* @param response
- * @param required
+ * Simple Registration response.
* @param claimValues
+ * Claim values.
* @throws MessageException
*/
protected void setSimpleAttributeRegistrationValues(SRegResponse response,
@@ -162,10 +178,12 @@
}
/**
+ * Populate the response with claim values.
*
* @param response
- * @param required
+ * Attribute Exchange response.
* @param claimValues
+ * Claim values.
* @throws MessageException
*/
protected void setAttributeExchangeValues(FetchResponse response,
@@ -189,8 +207,7 @@
}
/**
- *
- *
+ * Claims corresponding to OpenID.
*/
public class OpenIDClaim {
Modified:
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/UserInfoServlet.java
==============================================================================
---
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/UserInfoServlet.java
(original)
+++
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/UserInfoServlet.java
Tue Jan 22 21:09:08 2008
@@ -51,24 +51,26 @@
+ " <XRD>\n"
+ " <Service priority=\"0\">\n"
+ " <Type>http://openid.net/signon/1.0</Type>\n"
- + " <URI>"+ serverUrl+ "</URI>\n"
- + " </Service>\n"
+ + " <URI>"
+ + serverUrl
+ + "</URI>\n"
+ + " </Service>\n"
+ " <Service priority=\"1\">\n"
+ "
<Type>http://specs.openid.net/auth/2.0/signon</Type>\n"
+ " <URI>" + serverUrl + "</URI>\n"
- + " </Service>\n"
- + " </XRD>\n"
- + "</xrds:XRDS>";
+ + " </Service>\n" + " </XRD>\n" + "</xrds:XRDS>";
}
}
-
+
PrintWriter out = resp.getWriter();
out.write(back);
}
/**
+ * Check whether the given user exists in the system.
*
* @param userName
+ * User name.
* @return
*/
private boolean isUserExist(String userName) {
_______________________________________________
Identity-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/identity-dev