<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <base href="https://shibboleth.atlassian.net">
<title>Message Title</title>
</head>
<body class="jira" style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 1.429;">
<table id="background-table" cellpadding="0" cellspacing="0" width="100%" style="background-color: #f5f5f5; border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0;" bgcolor="#f5f5f5"><!-- header here -->
<tbody>
<tr>
<td id="header-pattern-container" style="border-collapse: collapse; padding: 10px 20px;">
<table id="header-pattern" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0;">
<tbody>
<tr>
<td id="header-avatar-image-container" valign="top" style="padding: 0; border-collapse: collapse; vertical-align: top; width: 32px; padding-right: 8px;" width="32"><img id="header-avatar-image" class="image_fix" src="https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/557058:5b78efc9-1379-42cc-a3f6-56c6ea3a0007/8094a34d-6610-4260-8e81-aebcd8510cbf/48" height="32" width="32" border="0" style="border-radius: 3px; vertical-align: top;"></td>
<td id="header-text-container" valign="middle" style="padding: 0; border-collapse: collapse; vertical-align: middle; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px;"><a class="user-hover" rel="557058:5b78efc9-1379-42cc-a3f6-56c6ea3a0007" style="color: #3b73af; text-decoration: none;" id="email_557058:5b78efc9-1379-42cc-a3f6-56c6ea3a0007" href="https://shibboleth.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3A5b78efc9-1379-42cc-a3f6-56c6ea3a0007"> Scott Cantor </a> <strong>commented</strong> on <a href="https://shibboleth.atlassian.net/browse/JMETAGEN-5?atlOrigin=eyJpIjoiM2M3ZTA1YTI0MWVkNDM4M2E0Y2M2NjVjNzRmNTNjZjAiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none;"><img src="cid:jira-generated-image-avatar-fb669e9c-948f-4b80-91ab-99b39e97d271" height="16" width="16" border="0" align="absmiddle" alt="New Feature"> JMETAGEN-5</a></td>
</tr>
</tbody>
</table></td>
</tr>
<tr>
<td id="email-content-container" style="border-collapse: collapse; padding: 0 20px;">
<table id="email-content-table" cellspacing="0" cellpadding="0" border="0" width="100%" style="mso-table-lspace: 0; mso-table-rspace: 0; border-spacing: 0; border-collapse: separate;">
<tbody>
<tr><!-- there needs to be content in the cell for it to render in some clients -->
<td class="email-content-rounded-top mobile-expand" style="border-collapse: collapse; color: #ffffff; background-color: #ffffff; border-left: 1px solid #cccccc; border-top: 1px solid #cccccc; border-right: 1px solid #cccccc; border-bottom: 0; border-top-right-radius: 5px; border-top-left-radius: 5px; height: 10px; line-height: 10px; padding: 0 15px 0 16px; mso-line-height-rule: exactly;" height="10" bgcolor="#ffffff"> </td>
</tr>
<tr>
<td class="email-content-main mobile-expand " style="border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff;" bgcolor="#ffffff">
<table class="page-title-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0;">
<tbody>
<tr>
<td style="vertical-align: top; padding: 0; border-collapse: collapse; padding-right: 5px; font-size: 20px; line-height: 30px; mso-line-height-rule: exactly;" class="page-title-pattern-header-container"><span class="page-title-pattern-header" style="font-family: Arial, sans-serif; padding: 0; font-size: 20px; line-height: 30px; mso-text-raise: 2px; mso-line-height-rule: exactly; vertical-align: middle;"> <a href="https://shibboleth.atlassian.net/browse/JMETAGEN-5?atlOrigin=eyJpIjoiM2M3ZTA1YTI0MWVkNDM4M2E0Y2M2NjVjNzRmNTNjZjAiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none;">Re: Consider generalizing into a replacement for SP's metagen script</a> </span></td>
</tr>
</tbody>
</table></td>
</tr>
<tr>
<td id="text-paragraph-pattern-top" class="email-content-main mobile-expand comment-top-pattern" style="border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; padding: 0 15px 0 16px; background-color: #ffffff; border-bottom: none; padding-bottom: 0;" bgcolor="#ffffff">
<table class="text-paragraph-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 2px;">
<tbody>
<tr>
<td class="text-paragraph-pattern-container mobile-resize-text " style="border-collapse: collapse; padding: 0 0 10px;"><p style="margin: 10px 0 0; margin-top: 0;">I have a fairly functional strawman on a dev branch that illustrates the general idea. I have basic structure, roles, keys, and endpoints more or less working.</p> <p style="margin: 10px 0 0;">My idea is to define an interface in OpenSAML that provides the methods to obtain all the details needed to put into the metadata and transplant the Velocity-based code and templates into there to mechanically generate the XML. The templates will by default just be in the opensaml jar. In principle the plugin could contain an optional module that when enabled actually copies out the templates into the file system for customization.</p> <p style="margin: 10px 0 0;">The current CLI argument class I modified from the existing plugin will then be changed to implement that interface, supplying the necessary information directly from the CLI arguments, but without making the generator actually depend on the CLI itself.</p> <p style="margin: 10px 0 0;">Then it just needs extending to add in all the various bits and whistles potentially needed to generate.</p> <p style="margin: 10px 0 0;">I hadn’t really considered it but it does occur to me that it would be potentially possible to define a Spring bean that implements this new OpenSAML interface inside the IdP, and could I suppose populate itself from the IdP’s internals rather than from a CLI argument set. The IdP’s metadata could then be generated on the fly, something I of course never wanted to support, but it’s probably not a ton of work to cook up something skeletal, and properties could be defined to add things like MDUI and the like, allowing the outside config to drive the generation.</p> <p style="margin: 10px 0 0;">Either way, the installer should be much simpler, it either just supplies a custom impl of this interface and runs the generator, or it does nothing and we move to a dynamic approach that will run any time.</p></td>
</tr>
</tbody>
</table></td>
</tr>
<tr>
<td class="email-content-main mobile-expand " style="border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff;" bgcolor="#ffffff"><script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"description": "View Issue",
"potentialAction": {
"@type": "ViewAction",
"target": "https://shibboleth.atlassian.net/browse/JMETAGEN-5?inbox=true&focusedCommentId=35263&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-35263",
"name": "View Comment"
},
"publisher": {
"@type": "Organization",
"name": "Atlassian",
"url": "https://www.atlassian.com"
}
}
</script>
<table id="actions-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px;">
<tbody>
<tr>
<td id="actions-pattern-container" valign="middle" style="border-collapse: collapse; padding: 10px 0 10px 24px; vertical-align: middle; padding-left: 0;">
<table align="left" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0;">
<tbody>
<tr>
<td class="actions-pattern-action-icon-container" style="padding: 0; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0; vertical-align: middle;"><a href="https://shibboleth.atlassian.net/browse/JMETAGEN-5#add-comment?atlOrigin=eyJpIjoiM2M3ZTA1YTI0MWVkNDM4M2E0Y2M2NjVjNzRmNTNjZjAiLCJwIjoiaiJ9" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none;"> <img class="actions-pattern-action-icon-image" src="cid:jira-generated-image-static-comment-icon-2c3af4bd-dd46-48a8-9cf7-512c6dd6681b" alt="Add Comment" title="Add Comment" height="16" width="16" border="0" style="vertical-align: middle;"> </a></td>
<td class="actions-pattern-action-text-container" style="padding: 0; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; padding-left: 5px;"><a href="https://shibboleth.atlassian.net/browse/JMETAGEN-5#add-comment?atlOrigin=eyJpIjoiM2M3ZTA1YTI0MWVkNDM4M2E0Y2M2NjVjNzRmNTNjZjAiLCJwIjoiaiJ9" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none;">Add Comment</a></td>
</tr>
</tbody>
</table></td>
</tr>
</tbody>
</table></td>
</tr> <!-- there needs to be content in the cell for it to render in some clients -->
<tr>
<td class="email-content-rounded-bottom mobile-expand" style="border-collapse: collapse; color: #ffffff; padding: 0 15px 0 16px; height: 5px; line-height: 5px; background-color: #ffffff; border-top: 0; border-left: 1px solid #cccccc; border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; mso-line-height-rule: exactly;" height="5" bgcolor="#ffffff"> </td>
</tr>
</tbody>
</table></td>
</tr>
<tr>
<td id="footer-pattern" style="border-collapse: collapse; padding: 12px 20px;">
<table id="footer-pattern-container" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0;">
<tbody>
<tr>
<td id="footer-pattern-mobile-separated-links" class="mobile-resize-text" width="100%" colspan="2" style="padding: 0; border-collapse: collapse; color: #999999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px;">Get Jira notifications on your phone! Download the Jira Cloud app for <a href="https://play.google.com/store/apps/details?id=com.atlassian.android.jira.core&referrer=utm_source%3DNotificationLink%26utm_medium%3DEmail" style="color: #3b73af; text-decoration: none;">Android</a> or <a href="https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=EmailNotificationLink&mt=8" style="color: #3b73af; text-decoration: none;">iOS</a>
<hr></td>
</tr>
<tr>
<td id="footer-pattern-text" class="mobile-resize-text" width="100%" style="padding: 0; border-collapse: collapse; color: #999999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px;">This message was sent by Atlassian Jira <span id="footer-build-information">(v1001.0.0-SNAPSHOT#100230-<span title="e339e49c851f05acf32e8dbd6f96dcebf6ac5b85" data-commit-id="e339e49c851f05acf32e8dbd6f96dcebf6ac5b85}">sha1:e339e49</span>)</span></td>
<td id="footer-pattern-logo-desktop-container" valign="top" style="padding: 0; border-collapse: collapse; padding-left: 20px; vertical-align: top;">
<table style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0;">
<tbody>
<tr>
<td id="footer-pattern-logo-desktop-padding" style="padding: 0; border-collapse: collapse; padding-top: 3px; opacity: 0.150;"><img id="footer-pattern-logo-desktop" src="cid:jira-generated-image-static-footer-desktop-logo-c64d3597-d85e-4c55-b3e0-982c2ed4421f" alt="Atlassian logo" title="Atlassian logo" width="192" height="24" class="image_fix"></td>
</tr>
</tbody>
</table></td>
</tr>
</tbody>
</table></td>
</tr>
</tbody>
</table>
</body>
</html>