本文整理汇总了Java中org.opensaml.common.SAMLVersion类的典型用法代码示例。如果您正苦于以下问题:Java SAMLVersion类的具体用法?Java SAMLVersion怎么用?Java SAMLVersion使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SAMLVersion类属于org.opensaml.common包,在下文中一共展示了SAMLVersion类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: processAttribute
import org.opensaml.common.SAMLVersion; //导入依赖的package包/类
/** {@inheritDoc} */
protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {
Assertion assertion = (Assertion) samlObject;
if (Assertion.ID_ATTRIB_NAME.equals(attribute.getLocalName())) {
assertion.setID(attribute.getValue());
} else if (Assertion.ISSUER_ATTRIB_NAME.equals(attribute.getLocalName())) {
assertion.setIssuer(attribute.getValue());
} else if (Assertion.ISSUEINSTANT_ATTRIB_NAME.equals(attribute.getLocalName())
&& !DatatypeHelper.isEmpty(attribute.getValue())) {
assertion.setIssueInstant(new DateTime(attribute.getValue(), ISOChronology.getInstanceUTC()));
} else if (Assertion.MINORVERSION_ATTRIB_NAME.equals(attribute.getLocalName())) {
if (attribute.getValue().equals("0")) {
assertion.setVersion(SAMLVersion.VERSION_10);
} else {
assertion.setVersion(SAMLVersion.VERSION_11);
}
} else {
super.processAttribute(samlObject, attribute);
}
}
示例2: processAttribute
import org.opensaml.common.SAMLVersion; //导入依赖的package包/类
/** {@inheritDoc} */
protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {
Assertion assertion = (Assertion) samlObject;
if (attribute.getLocalName().equals(Assertion.VERSION_ATTRIB_NAME)) {
assertion.setVersion(SAMLVersion.valueOf(attribute.getValue()));
} else if (attribute.getLocalName().equals(Assertion.ISSUE_INSTANT_ATTRIB_NAME)
&& !DatatypeHelper.isEmpty(attribute.getValue())) {
assertion.setIssueInstant(new DateTime(attribute.getValue(), ISOChronology.getInstanceUTC()));
} else if (attribute.getLocalName().equals(Assertion.ID_ATTRIB_NAME)) {
assertion.setID(attribute.getValue());
attribute.getOwnerElement().setIdAttributeNode(attribute, true);
} else {
super.processAttribute(samlObject, attribute);
}
}
示例3: processAttribute
import org.opensaml.common.SAMLVersion; //导入依赖的package包/类
/** {@inheritDoc} */
protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {
RequestAbstractType req = (RequestAbstractType) samlObject;
if (attribute.getLocalName().equals(RequestAbstractType.VERSION_ATTRIB_NAME)) {
req.setVersion(SAMLVersion.valueOf(attribute.getValue()));
} else if (attribute.getLocalName().equals(RequestAbstractType.ID_ATTRIB_NAME)) {
req.setID(attribute.getValue());
attribute.getOwnerElement().setIdAttributeNode(attribute, true);
} else if (attribute.getLocalName().equals(RequestAbstractType.ISSUE_INSTANT_ATTRIB_NAME)
&& !DatatypeHelper.isEmpty(attribute.getValue())) {
req.setIssueInstant(new DateTime(attribute.getValue(), ISOChronology.getInstanceUTC()));
} else if (attribute.getLocalName().equals(RequestAbstractType.DESTINATION_ATTRIB_NAME)) {
req.setDestination(attribute.getValue());
} else if (attribute.getLocalName().equals(RequestAbstractType.CONSENT_ATTRIB_NAME)) {
req.setConsent(attribute.getValue());
} else {
super.processAttribute(samlObject, attribute);
}
}
示例4: processAttribute
import org.opensaml.common.SAMLVersion; //导入依赖的package包/类
/** {@inheritDoc} */
protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {
StatusResponseType sr = (StatusResponseType) samlObject;
if (attribute.getLocalName().equals(StatusResponseType.VERSION_ATTRIB_NAME)) {
sr.setVersion(SAMLVersion.valueOf(attribute.getValue()));
} else if (attribute.getLocalName().equals(StatusResponseType.ID_ATTRIB_NAME)) {
sr.setID(attribute.getValue());
attribute.getOwnerElement().setIdAttributeNode(attribute, true);
} else if (attribute.getLocalName().equals(StatusResponseType.IN_RESPONSE_TO_ATTRIB_NAME)) {
sr.setInResponseTo(attribute.getValue());
} else if (attribute.getLocalName().equals(StatusResponseType.ISSUE_INSTANT_ATTRIB_NAME)
&& !DatatypeHelper.isEmpty(attribute.getValue())) {
sr.setIssueInstant(new DateTime(attribute.getValue(), ISOChronology.getInstanceUTC()));
} else if (attribute.getLocalName().equals(StatusResponseType.DESTINATION_ATTRIB_NAME)) {
sr.setDestination(attribute.getValue());
} else if (attribute.getLocalName().equals(StatusResponseType.CONSENT_ATTRIB_NAME)) {
sr.setConsent(attribute.getValue());
} else {
super.processAttribute(samlObject, attribute);
}
}
示例5: buildAuthenticationRequest
import org.opensaml.common.SAMLVersion; //导入依赖的package包/类
public AuthnRequest buildAuthenticationRequest(String assertionConsumerServiceUrl, Integer assertionConsumerServiceIndex, String issuerId, String id, String destination) {
DateTime issueInstant = new DateTime();
AuthnRequestBuilder authRequestBuilder = new AuthnRequestBuilder();
AuthnRequest authRequest = authRequestBuilder.buildObject(SAML2_PROTOCOL, "AuthnRequest", "samlp");
authRequest.setIsPassive(Boolean.FALSE);
authRequest.setIssueInstant(issueInstant);
authRequest.setProtocolBinding(SAML2_POST_BINDING);
authRequest.setAssertionConsumerServiceURL(assertionConsumerServiceUrl);
authRequest.setAssertionConsumerServiceIndex(assertionConsumerServiceIndex);
authRequest.setIssuer(buildIssuer(issuerId));
authRequest.setNameIDPolicy(buildNameIDPolicy());
authRequest.setRequestedAuthnContext(buildRequestedAuthnContext());
authRequest.setID(id);
authRequest.setVersion(SAMLVersion.VERSION_20);
authRequest.setAttributeConsumingServiceIndex(1);
authRequest.setDestination(destination);
// firma la request
authRequest.setSignature(spidIntegrationUtil.getSignature());
return authRequest;
}
示例6: createAuthnRequest
import org.opensaml.common.SAMLVersion; //导入依赖的package包/类
@SuppressWarnings("unchecked")
private AuthnRequest createAuthnRequest(String surl,
boolean fauth, boolean isp, String proto,
NameIDPolicy npolicy, RequestedAuthnContext actx) {
AuthnRequest ar = ((SAMLObjectBuilder<AuthnRequest>)
_bf.getBuilder(AuthnRequest.DEFAULT_ELEMENT_NAME)).buildObject();
ar.setAssertionConsumerServiceURL(surl);
ar.setForceAuthn(fauth);
String uid = UUID.randomUUID().toString();
ar.setID(uid);
ar.setIsPassive(isp);
ar.setIssueInstant(new DateTime());
ar.setProtocolBinding(proto);
ar.setVersion(SAMLVersion.VERSION_20);
ar.setIssuer(getIssuer());
// ar.setNameIDPolicy(npolicy);
// ar.setRequestedAuthnContext(actx);
return ar;
}
示例7: createLogoutRequest
import org.opensaml.common.SAMLVersion; //导入依赖的package包/类
@SuppressWarnings("unchecked")
public LogoutRequest createLogoutRequest(Response resp) {
LogoutRequest lr = ((SAMLObjectBuilder<LogoutRequest>)
_bf.getBuilder(LogoutRequest.DEFAULT_ELEMENT_NAME)).buildObject();
String uid = UUID.randomUUID().toString();
lr.setID(uid);
lr.setIssueInstant(new DateTime());
lr.setVersion(SAMLVersion.VERSION_20);
lr.setIssuer(getIssuer());
// Get NameID and SessionIndex from first assertion from
// Authentication Response object
Assertion asr = resp.getAssertions().get(0);
NameID nid = ((SAMLObjectBuilder<NameID>)
_bf.getBuilder(NameID.DEFAULT_ELEMENT_NAME)).buildObject();
nid.setValue(asr.getSubject().getNameID().getValue());
lr.setNameID(nid);
// Set session index(es)
List<AuthnStatement> ausl = asr.getAuthnStatements();
if (ausl != null) {
for (AuthnStatement aus :ausl) {
SessionIndex sindex = ((SAMLObjectBuilder<SessionIndex>)
_bf.getBuilder(SessionIndex.DEFAULT_ELEMENT_NAME)).buildObject();
sindex.setSessionIndex(aus.getSessionIndex());
lr.getSessionIndexes().add(sindex);
}
}
return lr;
}
示例8: validateAssertion
import org.opensaml.common.SAMLVersion; //导入依赖的package包/类
/**
* Validate whether a SAML assertion contains the expected elements
* @param validator The validator to use forassertion validation. Can be <code>null</code>.
* @param spEntityID The entityID of the service provider
* @param spAssertionConsumerURL The assertion consumer URL of the service provider
*/
public void validateAssertion(AssertionValidator validator, String spEntityID, String spAssertionConsumerURL) throws ValidationException {
try {
assertion.validate(false);
} catch (org.opensaml.xml.validation.ValidationException e) {
throw new ValidationException(e);
}
// The SAML version must be 2.0
if (!SAMLVersion.VERSION_20.equals(assertion.getVersion())) {
throw new ValidationException("The assertion must be version 2.0. Was " + assertion.getVersion());
}
// There must be an ID
if (assertion.getID() == null) {
throw new ValidationException("The assertion must contain a ID");
}
log.debug("Using validator: " + validator);
if (validator != null) {
validator.validate(this, spEntityID, spAssertionConsumerURL);
}
}
示例9: newQuery
import org.opensaml.common.SAMLVersion; //导入依赖的package包/类
public static OIOAttributeQuery newQuery(String endpointLocation, String nameId, NameIDFormat format, String spEntityId) {
org.opensaml.saml2.core.AttributeQuery q = SAMLUtil.buildXMLObject(org.opensaml.saml2.core.AttributeQuery.class);
q.setVersion(SAMLVersion.VERSION_20);
Subject subject = SAMLUtil.createSubject(nameId, endpointLocation, new DateTime().plusMinutes(5));
subject.getSubjectConfirmations().clear();
subject.getNameID().setFormat(format.getFormat());
q.setSubject(subject);
q.setDestination(endpointLocation);
q.setIssueInstant(new DateTime());
q.setID(Utils.generateUUID());
q.setIssuer(SAMLUtil.createIssuer(spEntityId));
q.setConsent("urn:oasis:names:tc:SAML:2.0:consent:current-implicit");
return new OIOAttributeQuery(q);
}
示例10: buildRequest
import org.opensaml.common.SAMLVersion; //导入依赖的package包/类
public AuthnRequest buildRequest(String spProviderId, String acsUrl, String idpUrl){
/* Building Issuer object */
IssuerBuilder issuerBuilder = new IssuerBuilder();
Issuer issuer =
issuerBuilder.buildObject("urn:oasis:names:tc:SAML:2.0:assertion",
"Issuer", "saml2p");
issuer.setValue(spProviderId);
/* Creation of AuthRequestObject */
DateTime issueInstant = new DateTime();
AuthnRequestBuilder authRequestBuilder = new AuthnRequestBuilder();
AuthnRequest authRequest =
authRequestBuilder.buildObject(SAMLConstants.SAML20P_NS,
"AuthnRequest", "saml2p");
authRequest.setForceAuthn(false);
authRequest.setIssueInstant(issueInstant);
authRequest.setProtocolBinding(SAMLConstants.SAML2_POST_BINDING_URI);
authRequest.setAssertionConsumerServiceURL(acsUrl);
authRequest.setIssuer(issuer);
authRequest.setVersion(SAMLVersion.VERSION_20);
authRequest.setDestination(idpUrl);
return authRequest;
}
示例11: buildResponse
import org.opensaml.common.SAMLVersion; //导入依赖的package包/类
public Response buildResponse(SAMLSSOAuthnReqDTO authReqDTO, Assertion assertion)
throws IdentityException {
if (log.isDebugEnabled()) {
log.debug("Building SAML Response for the consumer '"
+ authReqDTO.getAssertionConsumerURL() + "'");
}
Response response = new org.opensaml.saml2.core.impl.ResponseBuilder().buildObject();
response.setIssuer(SAMLSSOUtil.getIssuer());
response.setID(SAMLSSOUtil.createID());
response.setInResponseTo(authReqDTO.getId());
response.setDestination(authReqDTO.getAssertionConsumerURL());
response.setStatus(buildStatus(SAMLSSOConstants.StatusCodes.SUCCESS_CODE, null));
response.setVersion(SAMLVersion.VERSION_20);
DateTime issueInstant = new DateTime();
response.setIssueInstant(issueInstant);
response.getAssertions().add(assertion);
if (authReqDTO.isDoSignResponse()) {
SAMLSSOUtil.setSignature(response, authReqDTO.getSigningAlgorithmUri(), authReqDTO.getDigestAlgorithmUri
(), new SignKeyDataHolder(authReqDTO.getUser().getAuthenticatedSubjectIdentifier()));
}
return response;
}
示例12: buildResponse
import org.opensaml.common.SAMLVersion; //导入依赖的package包/类
/**
* Build the error response
*
* @param inResponseToID
* @param statusCodes
* @param statusMsg
* @return
*/
public Response buildResponse(String inResponseToID, List<String> statusCodes, String statusMsg,
String destination) throws IdentityException {
if (statusCodes == null || statusCodes.isEmpty()) {
throw IdentityException.error("No Status Values");
}
response.setIssuer(SAMLSSOUtil.getIssuer());
Status status = new StatusBuilder().buildObject();
StatusCode statusCode = null;
for (String statCode : statusCodes) {
statusCode = buildStatusCode(statCode, statusCode);
}
status.setStatusCode(statusCode);
buildStatusMsg(status, statusMsg);
response.setStatus(status);
response.setVersion(SAMLVersion.VERSION_20);
response.setID(SAMLSSOUtil.createID());
if (inResponseToID != null) {
response.setInResponseTo(inResponseToID);
}
if (destination != null) {
response.setDestination(destination);
}
response.setIssueInstant(new DateTime());
return response;
}
示例13: generateErrorneousResponse
import org.opensaml.common.SAMLVersion; //导入依赖的package包/类
public static String generateErrorneousResponse() {
Response response = new ResponseBuilder().buildObject();
response.setIssuer(getIssuer());
response.setStatus(buildStatus());
response.setVersion(SAMLVersion.VERSION_20);
response.setID(UIDGenerator.generateUID());
try {
return encode(marshall(response));
} catch (IdentityException e) {
if (log.isDebugEnabled()) {
log.debug("Error while encoding.", e);
}
return null;
}
}
示例14: testUnmarshall
import org.opensaml.common.SAMLVersion; //导入依赖的package包/类
/** {@inheritDoc} */
public void testUnmarshall() {
AuthnRequest request = (AuthnRequest) unmarshallElement(elementFile);
assertNotNull("AuthnRequest was null", request);
assertEquals("ForceAuthn", true, request.isForceAuthn().booleanValue());
assertEquals("AssertionConsumerServiceURL", "http://www.example.com/", request.getAssertionConsumerServiceURL());
assertEquals("AttributeConsumingServiceIndex", 0, request.getAttributeConsumingServiceIndex().intValue());
assertEquals("ProviderName", "SomeProvider", request.getProviderName());
assertEquals("ID", "abe567de6", request.getID());
assertEquals("Version", SAMLVersion.VERSION_20.toString(), request.getVersion().toString());
assertEquals("IssueInstant", new DateTime(2005, 1, 31, 12, 0, 0, 0, ISOChronology.getInstanceUTC()), request.getIssueInstant());
assertEquals("Destination", "http://www.example.com/", request.getDestination());
assertEquals("Consent", "urn:oasis:names:tc:SAML:2.0:consent:obtained", request.getConsent());
assertEquals("Subject/NameID/@NameIdFormat", "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", request.getSubject().getNameID().getFormat());
assertEquals("Subject/NameID contents", "[email protected]", request.getSubject().getNameID().getValue());
Audience audience = request.getConditions().getAudienceRestrictions().get(0).getAudiences().get(0);
assertEquals("Conditions/AudienceRestriction[1]/Audience[1] contents", "urn:foo:sp.example.org", audience.getAudienceURI());
AuthnContextClassRef classRef = (AuthnContextClassRef) request.getRequestedAuthnContext().getAuthnContextClassRefs().get(0);
assertEquals("RequestedAuthnContext/AuthnContextClassRef[1] contents", "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", classRef.getAuthnContextClassRef());
}
示例15: setUp
import org.opensaml.common.SAMLVersion; //导入依赖的package包/类
/** {@inheritDoc} */
protected void setUp() throws Exception {
super.setUp();
expectedID = "def456";
expectedInResponseTo = "abc123";
expectedSAMLVersion = SAMLVersion.VERSION_20;
expectedIssueInstant = new DateTime(2006, 2, 21, 16, 40, 0, 0, ISOChronology.getInstanceUTC());
expectedDestination = "http://sp.example.org/endpoint";
expectedConsent = "urn:string:consent";
QName issuerQName = new QName(SAMLConstants.SAML20_NS, Issuer.DEFAULT_ELEMENT_LOCAL_NAME, SAMLConstants.SAML20_PREFIX);
expectedIssuer = (Issuer) buildXMLObject(issuerQName);
QName statusQName = new QName(SAMLConstants.SAML20P_NS, Status.DEFAULT_ELEMENT_LOCAL_NAME, SAMLConstants.SAML20P_PREFIX);
expectedStatus = (Status) buildXMLObject(statusQName);
}