Skip to content

Commit

Permalink
New EB push attributes in ARP: release_as and use_as_nameid
Browse files Browse the repository at this point in the history
  • Loading branch information
oharsta committed May 6, 2024
1 parent f3dc66f commit c2faa35
Show file tree
Hide file tree
Showing 10 changed files with 61 additions and 45 deletions.
44 changes: 27 additions & 17 deletions manage-gui/src/components/metadata/ARP.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {copyToClip, isEmpty} from "../../utils/Utils";

import "./ARP.scss";

//PureComponent only does a shallow comparison and we use derived values from deeply nested objects
//PureComponent only does a shallow comparison, and we use derived values from deeply nested objects
export default class ARP extends React.Component {

constructor(props) {
Expand Down Expand Up @@ -98,7 +98,7 @@ export default class ARP extends React.Component {
if (arpConf.multiplicity) {
this.setState({addInput: true, keyForNewInput: key});
} else {
this.onChange(key, [{value: "*", source: "idp", motivation: ""}]);
this.onChange(key, [{value: "*", source: "idp", motivation: "", releaseAs: "", useAsNameId: false}]);
this.setState({newArpAttributeAddedKey: key});
}
};
Expand All @@ -109,8 +109,10 @@ export default class ARP extends React.Component {
this.setState({addInput: false, keyForNewInput: undefined, value: ""});
} else {
const currentArpValues = [...this.props.arp.attributes[key] || []];
const motivation = this.getArpAttribute(currentArpValues);
currentArpValues.push({value: value, source: "idp", motivation: motivation});
const motivation = this.getArpAttribute(currentArpValues, "motivation");
const releaseAs = this.getArpAttribute(currentArpValues, "release_as");
const useAsNameId = this.getArpAttribute(currentArpValues, "use_as_name_id", true);
currentArpValues.push({value: value, source: "idp", motivation: motivation, releaseAs: releaseAs, useAsNameId:useAsNameId});
this.setState({addInput: false, keyForNewInput: undefined, value: "", newArpAttributeAddedKey: key});
this.onChange(key, currentArpValues);
}
Expand All @@ -119,12 +121,20 @@ export default class ARP extends React.Component {
arpAttributeChange = (key, attribute, boolean = false) => e => {
const value = boolean ? e.target.checked : e.target.value;
const {attributes :arpAttributes} = this.props.arp;
debugger;
//TODO if attribute === "useAsNameId" , set all other ARP attributes the "useAsNameId" t0 false, there can only be one
const currentArpValues = [...arpAttributes[key] || []];
const newArpValues = currentArpValues
.map(arpValue => ({...arpValue, [attribute]: value}));
this.onChange(key, newArpValues);
if (attribute === "use_as_name_id") {
const newArpAttributes = {...arpAttributes};
Object.keys(newArpAttributes).forEach(arpKey => {
arpAttributes[arpKey].forEach(arpValue => {
arpValue[attribute] = arpKey === key ? value : false
});
});
this.props.onChange("data.arp.attributes", newArpAttributes);
} else {
const currentArpValues = [...arpAttributes[key] || []];
const newArpValues = currentArpValues
.map(arpValue => ({...arpValue, [attribute]: value}));
this.onChange(key, newArpValues);
}
};


Expand Down Expand Up @@ -269,9 +279,9 @@ export default class ARP extends React.Component {
colSpan={2}>{I18n.t("arp.new_attribute_release_as", {key: this.nameOfKey(display, attributeKey)})}</td>
<td colSpan={3}>
<input type="text"
value={this.getArpAttribute(attributeValues, "releaseAt")}
value={this.getArpAttribute(attributeValues, "release_as")}
className="release-as"
onChange={this.arpAttributeChange(attributeKey, "releaseAt")}
onChange={this.arpAttributeChange(attributeKey, "release_as")}
placeholder={I18n.t("arp.new_attribute_release_as_placeholder")}/></td>
</tr>}
{(!doAddInput && attributeValues.length > 0) &&
Expand All @@ -280,8 +290,8 @@ export default class ARP extends React.Component {
colSpan={2}>{I18n.t("arp.new_attribute_use_as_nameid", {key: this.nameOfKey(display, attributeKey)})}</td>
<td colSpan={3}>
<CheckBox name={attributeKey}
onChange={this.arpAttributeChange(attributeKey, "useAsNameId", true)}
value={this.getArpAttribute(attributeValues, "useAsNameId", true)}/>
onChange={this.arpAttributeChange(attributeKey, "use_as_name_id", true)}
value={this.getArpAttribute(attributeValues, "use_as_name_id", true)}/>
</td>
</tr>}
</tbody>)
Expand All @@ -296,8 +306,8 @@ export default class ARP extends React.Component {

getReleaseAs = attributeValues => {
const releaseAsValues = attributeValues
.filter(attributeValue => !isEmpty(attributeValue.releaseAt))
.map(attributeValue => attributeValue.releaseAt);
.filter(attributeValue => !isEmpty(attributeValue.releaseAs))
.map(attributeValue => attributeValue.releaseAs);
return isEmpty(releaseAsValues) ? "" : releaseAsValues[0];
}

Expand Down Expand Up @@ -373,5 +383,5 @@ ARP.propTypes = {
arp: PropTypes.object,
onChange: PropTypes.func.isRequired,
arpConfiguration: PropTypes.object.isRequired,
guest: PropTypes.bool.isRequired
guest: PropTypes.bool
};
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import manage.model.EntityType;
import manage.model.MetaData;
import org.springframework.util.StringUtils;

import java.util.*;
import java.util.stream.IntStream;
Expand Down Expand Up @@ -277,22 +278,18 @@ private void addAttributeReleasePolicy(Map<String, Object> source, Map<String, O
}
Map<String, Object> arp = (Map<String, Object>) possibleArp;
Object enabled = arp.get("enabled");
if (enabled != null && Boolean.class.cast(enabled)) {
if (enabled != null && (Boolean) enabled) {
Object possibleAttributes = arp.get("attributes");
if (possibleAttributes != null && possibleAttributes instanceof List) {
List<String> listAttributes = (List<String>) possibleAttributes;
result.put("arp_attributes", listAttributes);

} else if (possibleAttributes != null && possibleAttributes instanceof Map) {
Map<String, List<Map<String, String>>> attributes = (Map<String, List<Map<String, String>>>) possibleAttributes;

if (possibleAttributes instanceof List) {
result.put("arp_attributes", possibleAttributes);
} else if (possibleAttributes instanceof Map) {
Map<String, List<Map<String, Object>>> attributes = (Map<String, List<Map<String, Object>>>) possibleAttributes;
//bugfix for EB not having the knowledge that 'idp' source is special
Collection<List<Map<String, String>>> values = attributes.values();
Collection<List<Map<String, Object>>> values = attributes.values();
values.forEach(arpValues -> arpValues.forEach(map -> map.entrySet()
.removeIf(entry -> entry.getKey().equals("source") && entry.getValue().equals("idp"))));

.removeIf(entry -> ("source".equals(entry.getKey()) && "idp".equals(entry.getValue()))
|| (entry.getValue() instanceof String && !StringUtils.hasText((String) entry.getValue())))));
result.put("arp_attributes", attributes);

}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ public String formatName() {
}

private String wrapCert(String certificate) {
return "-----BEGIN CERTIFICATE-----\n" + certificate + "\n-----END CERTIFICATE-----";
return certificate.startsWith("-----BEGIN CERTIFICATE-----") ? certificate :
"-----BEGIN CERTIFICATE-----\n" + certificate + "\n-----END CERTIFICATE-----";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@
"motivation": {
"type": "string"
},
"releaseAs": {
"release_as": {
"type": "string"
},
"useAsNameId": {
"use_as_nameid": {
"type": "boolean"
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,10 @@
"motivation": {
"type": "string"
},
"releaseAs": {
"release_as": {
"type": "string"
},
"useAsNameId": {
"use_as_nameid": {
"type": "boolean"
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@
"motivation": {
"type": "string"
},
"releaseAs": {
"release_as": {
"type": "string"
},
"useAsNameId": {
"use_as_nameid": {
"type": "boolean"
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ public void testParse() throws Exception {
MetaData metaData = objectMapper.readValue(readFile("json/meta_data_detail.json"), MetaData.class);
Map<String, Object> result = subject.parseServiceProvider(metaData);
Map<String, Object> expected = objectMapper.readValue(readFile("push/push_results.json"), Map.class);
// System.out.println(objectMapper.writeValueAsString(result));
//System.out.println(objectMapper.writeValueAsString(result));
assertEquals(new HashMap<>(expected).toString(), new HashMap<>(result).toString());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
"type": "saml20_sp",
"pathUpdates": {
"metadataurl": "https://print.saxion.nl/end-user/saml/metadata",
"metaDataFields.certData": "\n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\n",
"metaDataFields.certData": "MIIG5jCCBM6gAwIBAgIBCDANBgkqhkiG9w0BAQ0FADCBizELMAkGA1UEBhMCY3ox\nDTALBgNVBAcTBEJybm8xGzAZBgNVBAoTElkgU29mdCBDb3Jwb3JhdGlvbjEMMAoG\nA1UECxMDUm5EMRUwEwYDVQQDEwxZU29mdCBSbkQgQ0ExHTAbBgkqhkiG9w0BCQEW\nDmluZm9AeXNvZnQuY29tMQwwCgYDVQQEEwNEWkEwIBcNMTQwMjA0MTMzMDIxWhgP\nMjA5OTEyMTcxNDE1MTdaMIGmMQswCQYDVQQGEwJjejENMAsGA1UEBxMEQnJubzEb\nMBkGA1UEChMSWSBTb2Z0IENvcnBvcmF0aW9uMQwwCgYDVQQLEwNSbkQxMDAuBgNV\nBAMTJ1lTb2Z0IHBheW1lbnQgc3lzdGVtIHNlcnZlciBjZXJ0aWZpY2F0ZTEdMBsG\nCSqGSIb3DQEJARYOaW5mb0B5c29mdC5jb20xDDAKBgNVBAQTA2R6YTCCAiIwDQYJ\nKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKeedoSGKfRZbGbn4ItQPSRXRVF3p9m9\n6TKiJAc2zLZmx/K0kVfdtNuDr9nEPTrWHQrBYTGdQHrXLjKbt8zZ5QVeQRRLw9ok\nmQFo5vJOWADeN8keJUuLluad0s+9LKEh35U/r3fHOCiafJZzDR9bPGNhRnWYC8+F\nL06SNMcJPOpSlbc0Oxccq7m5qewxL1GaeRbA8lGioiQhgZqEIfE4ZLIBoNoOTI+L\nApBEuMSPpqF4k22qjV/D5MMmigcA9XMJCwLGxZE4zMBGvxRWDvPxvZ9ZBaAH0/bM\nWfCGrA83L1Gn9WIfdQIuboKKg8en0P44mXzO0Q3qy8hCbEeIKrxnMPohYnSdQL3h\n5DpnUHqJTGA3UqmVg95iiFIBnBHC0F57lab5iQ5H59ZB4KD9dfbYrrphGSOs9Mbc\nQHwdDgVkQLPKxv71t79brc5xMymsKX+7YL3+sC+BTvVlvmG4CHrEK7+HiOK7yKoK\nu+H3m2tXP+TbVaQ7Xq4F2KQ4p9G/xA+bs/uXJyRR2Z9ouKDOv05Dgm8Owt2/yHSG\n+dLNRd6Xz+L4DnZtiOe9jIq+7phn3eICuUyyrMa6+gDE6YJyDaaPrzc/36RB8t2V\n+I9MwDccWaAcWyqSpjqKRwyY40Rv7Buvl5hDgobYf35AhDkv4Vu64vWcJbaVwbiZ\nuEmPJq9tEXCbAgMBAAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAgEAMB0GA1UdDgQW\nBBQHB9H1AkI6hHA7isu+ZpBYztJzITCBvQYDVR0jBIG1MIGygBRsX+zIeY4vA4v5\n6DnduOWJYQ1cOaGBlqSBkzCBkDELMAkGA1UEBhMCY3oxDTALBgNVBAcTBEJybm8x\nGzAZBgNVBAoTElkgU29mdCBDb3Jwb3JhdGlvbjEMMAoGA1UECxMDUm5EMRowGAYD\nVQQDExFZU29mdCBSbkQgcm9vdCBDQTEdMBsGCSqGSIb3DQEJARYOaW5mb0B5c29m\ndC5jb20xDDAKBgNVBAQTA0RaQYIBAjALBgNVHQ8EBAMCBeAwEQYJYIZIAYb4QgEB\nBAQDAgZAMB4GCWCGSAGG+EIBDQQRFg94Y2EgY2VydGlmaWNhdGUwDQYJKoZIhvcN\nAQENBQADggIBACVh5BXX4d706MHWLfo9fpe7NlJYhSwU5r6kI0uXvn7gyGvq86x2\n7qINQwAXHeGJBLGqmEpbGuiPND+IT461/gkaaSUOyaZ1/AfVk7Eek3E7Vl7gzHsl\neNM3vdmEIogB7+CO30Ud0P6VlibKXuye94E47arAKT2f+lbxlZX5+vj4Tqptm9lM\nI9JhphP63pouJMGXkb/DcWwWWT5T6eftJ21LHqCKhsb2N6Kb1hGT5OaiX/suRy01\no5FF7wt6VPPc7fTwtdo/BiaDECqH9uyXe7oZ7LJ2NbhMio3szOrCRwra7P8GZLKc\nbfIFNqe99/CTbeW9EQ3kJdhycNIsu2p1Z1fa/6Fj3/p+SQTk452/6TCYHV9l9xgN\nRrsWZPamDqv4jT1rZx8PgCeQJ0h6KSrM2J2nhf1EWhfGrHR7pO32+WwHsOIO7rrL\n4TS7e9eizPfMuDQs4xx8g4Ju58LoWoeyMlCHR6mk3MSaYHDoQaHYpw0cRpO1kqrG\n6ezXnwYj0TRdLcHpAz4pvoORhaw8KbJKQwt/eeM+bC0PRaT27Q60V4OyJAgtWzV/\nhxuc3l4ay1qKM9eRwjkc8CvKQKFcZV9WrVkkX2dL6gkTDJbk7XDT16jY65GzNTk8\nWF+pMZsL/++HRZhjshPGVLmEQjlnXrVf7AAmWeQRkMEFB77I6m0vI21b\n",
"metaDataFields.certData2": "-----BEGIN CERTIFICATE-----\n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\n-----END CERTIFICATE-----",
"metaDataFields.AssertionConsumerService:0:Location": "https://print.saxion.nl/end-user/saml/SSO",
"metaDataFields.AssertionConsumerService:1:Location": null,
"metaDataFields.AssertionConsumerService:1:Binding": null,
Expand Down
10 changes: 7 additions & 3 deletions manage-server/src/test/resources/json/meta_data_detail.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,16 @@
"urn:mace:dir:attribute-def:displayName": [
{
"value": "*",
"source": "idp"
"source": "idp",
"motivation": "Pretty please"
}
],
"urn:mace:dir:attribute-def:mail": [
{
"value": "*",
"source": "idp"
"source": "idp",
"motivation": "",
"release_as": "email"
}
],
"urn:mace:dir:attribute-def:isMemberOf": [
Expand All @@ -53,7 +56,8 @@
"urn:mace:dir:attribute-def:uid": [
{
"value": "*",
"source": "idp"
"source": "idp",
"use_as_nameid": true
}
],
"urn:mace:terena.org:attribute-def:schacHomeOrganization": [
Expand Down
11 changes: 7 additions & 4 deletions manage-server/src/test/resources/push/push_results.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@
"arp_attributes": {
"urn:mace:dir:attribute-def:displayName": [
{
"value": "*"
"value": "*",
"motivation": "Pretty please"
}
],
"urn:mace:dir:attribute-def:mail": [
{
"value": "*"
"value": "*",
"release_as": "email"
}
],
"urn:mace:dir:attribute-def:isMemberOf": [
Expand All @@ -27,7 +29,8 @@
],
"urn:mace:dir:attribute-def:uid": [
{
"value": "*"
"value": "*",
"use_as_nameid": true
}
],
"urn:mace:terena.org:attribute-def:schacHomeOrganization": [
Expand Down Expand Up @@ -138,4 +141,4 @@
"name": "https://teams.surfconext.nl/shibboleth",
"state": "prodaccepted",
"type": "saml20-sp"
}
}

0 comments on commit c2faa35

Please sign in to comment.