本文整理汇总了Java中org.opensaml.saml.common.SAMLObjectBuilder.buildObject方法的典型用法代码示例。如果您正苦于以下问题:Java SAMLObjectBuilder.buildObject方法的具体用法?Java SAMLObjectBuilder.buildObject怎么用?Java SAMLObjectBuilder.buildObject使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.opensaml.saml.common.SAMLObjectBuilder
的用法示例。
在下文中一共展示了SAMLObjectBuilder.buildObject方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: buildEntityDescriptor
import org.opensaml.saml.common.SAMLObjectBuilder; //导入方法依赖的package包/类
@Override
public final EntityDescriptor buildEntityDescriptor() {
final SAMLObjectBuilder<EntityDescriptor> builder = (
SAMLObjectBuilder<EntityDescriptor>) this.builderFactory
.getBuilder(EntityDescriptor.DEFAULT_ELEMENT_NAME);
final EntityDescriptor descriptor = builder.buildObject();
descriptor.setEntityID(this.entityId);
descriptor.setValidUntil(DateTime.now().plusYears(20));
descriptor.setID(generateEntityDescriptorId());
descriptor.setExtensions(generateMetadataExtensions());
descriptor.getRoleDescriptors().add(buildSPSSODescriptor());
return descriptor;
}
示例2: buildNameIDFormat
import org.opensaml.saml.common.SAMLObjectBuilder; //导入方法依赖的package包/类
protected final Collection<NameIDFormat> buildNameIDFormat() {
final SAMLObjectBuilder<NameIDFormat> builder = (SAMLObjectBuilder<NameIDFormat>) this.builderFactory
.getBuilder(NameIDFormat.DEFAULT_ELEMENT_NAME);
final Collection<NameIDFormat> formats = new LinkedList<NameIDFormat>();
final NameIDFormat transientNameID = builder.buildObject();
transientNameID.setFormat(NameIDType.TRANSIENT);
formats.add(transientNameID);
final NameIDFormat persistentNameID = builder.buildObject();
persistentNameID.setFormat(NameIDType.PERSISTENT);
formats.add(persistentNameID);
final NameIDFormat emailNameID = builder.buildObject();
emailNameID.setFormat(NameIDType.EMAIL);
formats.add(emailNameID);
final NameIDFormat unspecNameID = builder.buildObject();
unspecNameID.setFormat(NameIDType.UNSPECIFIED);
formats.add(unspecNameID);
return formats;
}
示例3: getAssertionConsumerService
import org.opensaml.saml.common.SAMLObjectBuilder; //导入方法依赖的package包/类
protected final AssertionConsumerService getAssertionConsumerService(final String binding, final int index,
final boolean isDefault) {
final SAMLObjectBuilder<AssertionConsumerService> builder = (SAMLObjectBuilder<AssertionConsumerService>) this.builderFactory
.getBuilder(AssertionConsumerService.DEFAULT_ELEMENT_NAME);
final AssertionConsumerService consumer = builder.buildObject();
consumer.setLocation(this.assertionConsumerServiceUrl);
consumer.setBinding(binding);
if (isDefault) {
consumer.setIsDefault(true);
}
consumer.setIndex(index);
return consumer;
}
示例4: getSingleLogoutService
import org.opensaml.saml.common.SAMLObjectBuilder; //导入方法依赖的package包/类
protected SingleLogoutService getSingleLogoutService(final String binding) {
final SAMLObjectBuilder<SingleLogoutService> builder = (SAMLObjectBuilder<SingleLogoutService>) this.builderFactory
.getBuilder(SingleLogoutService.DEFAULT_ELEMENT_NAME);
final SingleLogoutService logoutService = builder.buildObject();
logoutService.setLocation(this.singleLogoutServiceUrl);
logoutService.setBinding(binding);
return logoutService;
}
示例5: getKeyDescriptor
import org.opensaml.saml.common.SAMLObjectBuilder; //导入方法依赖的package包/类
protected final KeyDescriptor getKeyDescriptor(final UsageType type, final KeyInfo key) {
final SAMLObjectBuilder<KeyDescriptor> builder = (SAMLObjectBuilder<KeyDescriptor>)
Configuration.getBuilderFactory()
.getBuilder(KeyDescriptor.DEFAULT_ELEMENT_NAME);
final KeyDescriptor descriptor = builder.buildObject();
descriptor.setUse(type);
descriptor.setKeyInfo(key);
return descriptor;
}
示例6: getIssuer
import org.opensaml.saml.common.SAMLObjectBuilder; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
protected final Issuer getIssuer(final String spEntityId) {
final SAMLObjectBuilder<Issuer> issuerBuilder = (SAMLObjectBuilder<Issuer>) this.builderFactory
.getBuilder(Issuer.DEFAULT_ELEMENT_NAME);
final Issuer issuer = issuerBuilder.buildObject();
issuer.setValue(spEntityId);
return issuer;
}
示例7: generateMetadataExtensions
import org.opensaml.saml.common.SAMLObjectBuilder; //导入方法依赖的package包/类
protected final Extensions generateMetadataExtensions() {
final SAMLObjectBuilder<Extensions> builderExt =
(SAMLObjectBuilder<Extensions>) this.builderFactory
.getBuilder(Extensions.DEFAULT_ELEMENT_NAME);
final Extensions extensions = builderExt.buildObject();
extensions.getNamespaceManager().registerAttributeName(DigestMethod.TYPE_NAME);
final SAMLObjectBuilder<DigestMethod> builder =
(SAMLObjectBuilder<DigestMethod>) this.builderFactory
.getBuilder(DigestMethod.DEFAULT_ELEMENT_NAME);
DigestMethod method = builder.buildObject();
method.setAlgorithm("http://www.w3.org/2001/04/xmlenc#sha512");
extensions.getUnknownXMLObjects().add(method);
method = builder.buildObject();
method.setAlgorithm("http://www.w3.org/2001/04/xmldsig-more#sha384");
extensions.getUnknownXMLObjects().add(method);
method = builder.buildObject();
method.setAlgorithm("http://www.w3.org/2001/04/xmlenc#sha256");
extensions.getUnknownXMLObjects().add(method);
method = builder.buildObject();
method.setAlgorithm("http://www.w3.org/2001/04/xmldsig-more#sha224");
extensions.getUnknownXMLObjects().add(method);
method = builder.buildObject();
method.setAlgorithm("http://www.w3.org/2000/09/xmldsig#sha1");
extensions.getUnknownXMLObjects().add(method);
method = builder.buildObject();
method.setAlgorithm("http://www.w3.org/2001/04/xmldsig-more#rsa-sha512");
extensions.getUnknownXMLObjects().add(method);
method = builder.buildObject();
method.setAlgorithm("http://www.w3.org/2001/04/xmldsig-more#rsa-sha384");
extensions.getUnknownXMLObjects().add(method);
method = builder.buildObject();
method.setAlgorithm("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256");
extensions.getUnknownXMLObjects().add(method);
method = builder.buildObject();
method.setAlgorithm("http://www.w3.org/2000/09/xmldsig#rsa-sha1");
extensions.getUnknownXMLObjects().add(method);
method = builder.buildObject();
method.setAlgorithm("http://www.w3.org/2000/09/xmldsig#dsa-sha1");
extensions.getUnknownXMLObjects().add(method);
return extensions;
}
示例8: buildSPSSODescriptor
import org.opensaml.saml.common.SAMLObjectBuilder; //导入方法依赖的package包/类
protected final SPSSODescriptor buildSPSSODescriptor() {
final SAMLObjectBuilder<SPSSODescriptor> builder = (SAMLObjectBuilder<SPSSODescriptor>) this.builderFactory
.getBuilder(SPSSODescriptor.DEFAULT_ELEMENT_NAME);
final SPSSODescriptor spDescriptor = builder.buildObject();
spDescriptor.setAuthnRequestsSigned(this.authnRequestSigned);
spDescriptor.setWantAssertionsSigned(this.wantAssertionSigned);
spDescriptor.addSupportedProtocol(SAMLConstants.SAML20P_NS);
spDescriptor.addSupportedProtocol(SAMLConstants.SAML10P_NS);
spDescriptor.addSupportedProtocol(SAMLConstants.SAML11P_NS);
final SAMLObjectBuilder<Extensions> builderExt =
(SAMLObjectBuilder<Extensions>) this.builderFactory
.getBuilder(Extensions.DEFAULT_ELEMENT_NAME);
final Extensions extensions = builderExt.buildObject();
extensions.getNamespaceManager().registerAttributeName(RequestInitiator.DEFAULT_ELEMENT_NAME);
final SAMLObjectBuilder<RequestInitiator> builderReq =
(SAMLObjectBuilder<RequestInitiator>) this.builderFactory
.getBuilder(RequestInitiator.DEFAULT_ELEMENT_NAME);
final RequestInitiator requestInitiator = builderReq.buildObject();
requestInitiator.setLocation(this.requestInitiatorLocation);
requestInitiator.setBinding(RequestInitiator.DEFAULT_ELEMENT_NAME.getNamespaceURI());
extensions.getUnknownXMLObjects().add(requestInitiator);
spDescriptor.setExtensions(extensions);
spDescriptor.getNameIDFormats().addAll(buildNameIDFormat());
int index = 0;
spDescriptor.getAssertionConsumerServices().add(
getAssertionConsumerService(SAMLConstants.SAML2_POST_BINDING_URI, index++,
this.defaultACSIndex == index));
if (credentialProvider != null) {
spDescriptor.getKeyDescriptors().add(getKeyDescriptor(UsageType.SIGNING,
this.credentialProvider.getKeyInfo()));
spDescriptor.getKeyDescriptors().add(getKeyDescriptor(UsageType.ENCRYPTION,
this.credentialProvider.getKeyInfo()));
}
return spDescriptor;
}
示例9: buildAuthnRequest
import org.opensaml.saml.common.SAMLObjectBuilder; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
protected final AuthnRequest buildAuthnRequest(final SAML2MessageContext context,
final AssertionConsumerService assertionConsumerService, final SingleSignOnService ssoService) {
final SAMLObjectBuilder<AuthnRequest> builder = (SAMLObjectBuilder<AuthnRequest>) this.builderFactory
.getBuilder(AuthnRequest.DEFAULT_ELEMENT_NAME);
final AuthnRequest request = builder.buildObject();
if (comparisonType != null) {
final RequestedAuthnContext authnContext = new RequestedAuthnContextBuilder().buildObject();
authnContext.setComparison(comparisonType);
if (authnContextClassRef != null) {
final AuthnContextClassRef classRef = new AuthnContextClassRefBuilder().buildObject();
classRef.setAuthnContextClassRef(authnContextClassRef);
authnContext.getAuthnContextClassRefs().add(classRef);
}
request.setRequestedAuthnContext(authnContext);
}
final SAMLSelfEntityContext selfContext = context.getSAMLSelfEntityContext();
request.setID(generateID());
request.setIssuer(getIssuer(selfContext.getEntityId()));
request.setIssueInstant(DateTime.now().plusSeconds(this.issueInstantSkewSeconds));
request.setVersion(SAMLVersion.VERSION_20);
request.setIsPassive(false);
request.setForceAuthn(this.forceAuth);
request.setProviderName("pac4j-saml");
if (nameIdPolicyFormat != null) {
final NameIDPolicy nameIdPolicy = new NameIDPolicyBuilder().buildObject();
nameIdPolicy.setAllowCreate(true);
nameIdPolicy.setFormat(nameIdPolicyFormat);
request.setNameIDPolicy(nameIdPolicy);
}
request.setDestination(ssoService.getLocation());
request.setAssertionConsumerServiceURL(assertionConsumerService.getLocation());
request.setProtocolBinding(assertionConsumerService.getBinding());
return request;
}
示例10: newSAMLObject
import org.opensaml.saml.common.SAMLObjectBuilder; //导入方法依赖的package包/类
protected static <T extends SAMLObject> T newSAMLObject(final Class<T> type, final QName elementName) {
final SAMLObjectBuilder<T> builder = (SAMLObjectBuilder<T>)
XMLObjectProviderRegistrySupport.getBuilderFactory().<T>getBuilderOrThrow(elementName);
return builder.buildObject();
}