本文整理汇总了Java中org.opensaml.saml2.core.LogoutResponse.setID方法的典型用法代码示例。如果您正苦于以下问题:Java LogoutResponse.setID方法的具体用法?Java LogoutResponse.setID怎么用?Java LogoutResponse.setID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.opensaml.saml2.core.LogoutResponse
的用法示例。
在下文中一共展示了LogoutResponse.setID方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: buildLogoutResponse
import org.opensaml.saml2.core.LogoutResponse; //导入方法依赖的package包/类
public LogoutResponse buildLogoutResponse(String id, String status, String statMsg)
throws SSOAgentException {
LogoutResponse logoutResp = new LogoutResponseBuilder().buildObject();
logoutResp.setID(SSOAgentUtils.createID());
logoutResp.setInResponseTo(id);
IssuerBuilder issuerBuilder = new IssuerBuilder();
Issuer issuer = issuerBuilder.buildObject();
issuer.setValue(ssoAgentConfig.getSAML2().getSPEntityId());
logoutResp.setIssuer(issuer);
logoutResp.setStatus(buildStatus(status, statMsg));
logoutResp.setIssueInstant(new DateTime());
logoutResp.setDestination(ssoAgentConfig.getSAML2().getIdPURL());
SSOAgentUtils.setSignatureValue(logoutResp, XMLSignature.ALGO_ID_SIGNATURE_RSA,
new X509CredentialImpl(ssoAgentConfig.getSAML2().getSSOAgentX509Credential()));
return logoutResp;
}
示例2: testFindSaml20IdpConnectorToUseToProcessResponses
import org.opensaml.saml2.core.LogoutResponse; //导入方法依赖的package包/类
/**
* The SP receive à LogoutResponse from the IdP. Which IdPConnector to choose ?
* @throws Exception
*/
@Test
public void testFindSaml20IdpConnectorToUseToProcessResponses() throws Exception {
// Mock the Original Request the response is responding to.
Mockito.when(this.samlStorage.findAuthentication(SESSION_INDEX_1)).thenReturn(this.buildBasicSamlAuthentication());
// Build the original request with IdpConnector1
final IOutgoingSaml logoutRequest = this.idpConnector1.buildSaml20SingleLogoutRequest(SESSION_INDEX_1, SamlBindingEnum.SAML_20_HTTP_POST);
Mockito.when(this.samlStorage.findRequestWaitingForResponse(REQUEST_ID)).thenReturn((IRequestWaitingForResponse) logoutRequest.getSamlQuery());
final LogoutResponse logoutResponse = this.logoutResponseBuilder.buildObject();
final Issuer issuer = issuerBuilder.buildObject();
// Issuer
issuer.setValue(IDP1_ENTITY_ID);
// Request
logoutResponse.setIssuer(issuer);
logoutResponse.setID(RESPONSE_ID);
logoutResponse.setInResponseTo(REQUEST_ID);
final ISaml20IdpConnector connectorToUse = this.spProcessor.findSaml20IdpConnectorToUse(logoutResponse);
Assert.assertNotNull("No IdPConnector to use found !", connectorToUse);
Assert.assertEquals("Wrong IdPConnector used !", this.idpConnector1, connectorToUse);
}
示例3: createLogoutResponse
import org.opensaml.saml2.core.LogoutResponse; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
private LogoutResponse createLogoutResponse(String id,
String code, String msg) {
// Consume LogoutResponse
LogoutResponse lresp = ((SAMLObjectBuilder<LogoutResponse>)
_bf.getBuilder(LogoutResponse.DEFAULT_ELEMENT_NAME)).
buildObject();
String uid = UUID.randomUUID().toString();
lresp.setID(uid);
lresp.setInResponseTo(id);
lresp.setIssueInstant(new DateTime());
lresp.setVersion(SAMLVersion.VERSION_20);
lresp.setIssuer(getIssuer());
// Set status code
Status status = ((SAMLObjectBuilder<Status>) _bf.getBuilder(
Status.DEFAULT_ELEMENT_NAME)).buildObject();
StatusCode scode = ((SAMLObjectBuilder<StatusCode>) _bf.getBuilder(
StatusCode.DEFAULT_ELEMENT_NAME)).buildObject();
scode.setValue(code);
status.setStatusCode(scode);
if (!msg.equals("")) {
StatusMessage smsg = ((SAMLObjectBuilder<StatusMessage>) _bf.getBuilder(
StatusMessage.DEFAULT_ELEMENT_NAME)).buildObject();
smsg.setMessage(msg);
status.setStatusMessage(smsg);
}
lresp.setStatus(status);
return lresp;
}
示例4: fromRequest
import org.opensaml.saml2.core.LogoutResponse; //导入方法依赖的package包/类
public static OIOLogoutResponse fromRequest(OIOLogoutRequest request, String statusCode, String consent, String entityId, String destination) {
LogoutResponse logoutResponse = SAMLUtil.buildXMLObject(LogoutResponse.class);
logoutResponse.setID(Utils.generateUUID());
logoutResponse.setIssueInstant(new DateTime(DateTimeZone.UTC));
logoutResponse.setVersion(SAMLVersion.VERSION_20);
logoutResponse.setStatus(SAMLUtil.createStatus(statusCode != null ? statusCode : StatusCode.SUCCESS_URI));
if (request != null) {
logoutResponse.setInResponseTo(request.getID());
}
logoutResponse.setIssuer(SAMLUtil.createIssuer(entityId));
logoutResponse.setDestination(destination);
if (consent != null) {
logoutResponse.setConsent(consent);
}
if (statusCode != null && !StatusCode.SUCCESS_URI.equals(statusCode)) {
log.error("Invalid <LogoutRequest>: " + consent);
}
try {
if (log.isDebugEnabled()) log.debug("Validate the logoutResponse...");
logoutResponse.validate(true);
if (log.isDebugEnabled()) log.debug("...OK");
} catch (ValidationException e) {
throw new WrappedException(Layer.CLIENT, e);
}
return new OIOLogoutResponse(logoutResponse);
}
示例5: buildLogoutResponse
import org.opensaml.saml2.core.LogoutResponse; //导入方法依赖的package包/类
public LogoutResponse buildLogoutResponse(String id, String status, String statMsg, String destination, boolean
isSignResponse, String tenantDomain, String responseSigningAlgorithmUri, String responseDigestAlgoUri)
throws IdentityException {
LogoutResponse logoutResp = new LogoutResponseBuilder().buildObject();
logoutResp.setID(SAMLSSOUtil.createID());
logoutResp.setInResponseTo(id);
logoutResp.setIssuer(SAMLSSOUtil.getIssuer());
logoutResp.setStatus(buildStatus(status, statMsg));
logoutResp.setIssueInstant(new DateTime());
logoutResp.setDestination(destination);
// Currently, does not sign the error response since this message pass through a url to the error page
if (isSignResponse && SAMLSSOConstants.StatusCodes.SUCCESS_CODE.equals(status)) {
int tenantId;
if (StringUtils.isEmpty(tenantDomain)) {
tenantDomain = MultitenantConstants.SUPER_TENANT_DOMAIN_NAME;
tenantId = MultitenantConstants.SUPER_TENANT_ID;
} else {
try {
tenantId = SAMLSSOUtil.getRealmService().getTenantManager().getTenantId(tenantDomain);
} catch (UserStoreException e) {
throw IdentityException.error("Error occurred while retrieving tenant id from tenant domain", e);
}
if(MultitenantConstants.INVALID_TENANT_ID == tenantId) {
throw IdentityException.error("Invalid tenant domain - '" + tenantDomain + "'" );
}
}
try {
PrivilegedCarbonContext.startTenantFlow();
PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain(tenantDomain);
PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantId(tenantId);
SAMLSSOUtil.setSignature(logoutResp, responseSigningAlgorithmUri, responseDigestAlgoUri, new
SignKeyDataHolder(null));
} finally {
PrivilegedCarbonContext.endTenantFlow();
}
}
return logoutResp;
}