You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by sa...@apache.org on 2015/01/13 10:34:49 UTC
[5/7] git commit: updated refs/heads/vmware-disk-controllers to
06d4458
CLOUDSTACK-8037: Fix attribute detection, tested to work with onelogin.com
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>
(cherry picked from commit 23de431f96e1dad8a21055ac98926c428e83c775)
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/1a7f76ac
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/1a7f76ac
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/1a7f76ac
Branch: refs/heads/vmware-disk-controllers
Commit: 1a7f76ac77b05eec796637f96b4ceca3f1c7af33
Parents: b528047
Author: Rohit Yadav <ro...@shapeblue.com>
Authored: Mon Jan 12 18:55:52 2015 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Mon Jan 12 19:41:10 2015 +0530
----------------------------------------------------------------------
.../command/SAML2LoginAPIAuthenticatorCmd.java | 37 +++++++++++---------
1 file changed, 21 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1a7f76ac/plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmd.java
----------------------------------------------------------------------
diff --git a/plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmd.java b/plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmd.java
index e1ccc02..6e86d23 100644
--- a/plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmd.java
+++ b/plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmd.java
@@ -240,22 +240,27 @@ public class SAML2LoginAPIAuthenticatorCmd extends BaseCmd implements APIAuthent
}
}
- AttributeStatement attributeStatement = assertion.getAttributeStatements().get(0);
- List<Attribute> attributes = attributeStatement.getAttributes();
-
- // Try capturing standard LDAP attributes
- for (Attribute attribute: attributes) {
- String attributeName = attribute.getName();
- String attributeValue = attribute.getAttributeValues().get(0).getDOM().getTextContent();
- if (attributeName.equalsIgnoreCase("uid") && uniqueUserId == null) {
- username = attributeValue;
- uniqueUserId = SAMLUtils.createSAMLId(username);
- } else if (attributeName.equalsIgnoreCase("givenName")) {
- firstName = attributeValue;
- } else if (attributeName.equalsIgnoreCase(("sn"))) {
- lastName = attributeValue;
- } else if (attributeName.equalsIgnoreCase("mail")) {
- email = attributeValue;
+ List<AttributeStatement> attributeStatements = assertion.getAttributeStatements();
+ if (attributeStatements != null && attributeStatements.size() > 0) {
+ for (AttributeStatement attributeStatement: attributeStatements) {
+ if (attributeStatement == null) {
+ continue;
+ }
+ // Try capturing standard LDAP attributes
+ for (Attribute attribute: attributeStatement.getAttributes()) {
+ String attributeName = attribute.getName();
+ String attributeValue = attribute.getAttributeValues().get(0).getDOM().getTextContent();
+ if (attributeName.equalsIgnoreCase("uid") && uniqueUserId == null) {
+ username = attributeValue;
+ uniqueUserId = SAMLUtils.createSAMLId(username);
+ } else if (attributeName.equalsIgnoreCase("givenName")) {
+ firstName = attributeValue;
+ } else if (attributeName.equalsIgnoreCase(("sn"))) {
+ lastName = attributeValue;
+ } else if (attributeName.equalsIgnoreCase("mail")) {
+ email = attributeValue;
+ }
+ }
}
}