local interface TokenProcessorThe TokenProcessor interface of this module is one part needed to use ATLAS effectively. The TokenProcessor is implemented by an object that processes CSIv2 AuthorizationToken. It gets called on by the Security Service when a CSIv2 Authorization Token is received from a client.
An application writer will create an object of the TokenProcessor interface and place it is credentials using the CSIArgBuilder.addATLASObject operation.
void accept_token(in SecurityLevel3::Principal transport_principal,
in SecurityLevel3::StatementList transport_statements,
in SecurityLevel3::ResourceNameList transport_resources,
in SecurityLevel3::SimplePrincipal client_auth_principal,
in SecurityLevel3::IdentityStatement client_auth_statement,
in SecurityLevel3::Principal identity_assert_principal,
in SecurityLevel3::StatementList identity_assert_statements,
in CSI::AuthorizationToken auth_token,
out AuthorizationInfo auth_info)
raises(InvalidEvidence,
InvalidMechanism);
This operation is called by the Security Service every time
a new CSIv2 context is established. It is up to this
objects operation to verify and compose all information
from the information given. The arguments are as follows:
boolean requires_endorsement_by_client();This operation returns true if this processor requires such authorization information that will authorize the target to speak on behalf of the client. This function aids in the Security Service's construction of the IOR.
boolean supports_endorsement_by_client();This operation returns true if this processor can handle and successfully process authorization information that may authorize the target to speak on behalf of the client. This function aids in the Security Service's construction of the IOR.