package edu.internet2.middleware.shibboleth.common;
/**
+ * Defines a producer of SAML authentication and attribute assertions. A
+ * single instantiation of a Shibboleth origin may represent more than one
+ * logical identity provider.
+ *
+ * @see ServiceProvider
* @author Walter Hoehn
*/
public interface IdentityProvider {
- public String getProviderId();
- public Credential getResponseSigningCredential();
- public Credential getAssertionSigningCredential();
+ /**
+ * Returns the unique identifier for the indentity provider.
+ *
+ * @return the provider ID
+ */
+ public String getProviderId();
+
+ /**
+ * Returns the credential that this provider uses to sign SAML
+ * responses to requests, or <code>null</code> if responses should not be signed.
+ *
+ * @return the credential or <code>null</code>
+ */
+ public Credential getResponseSigningCredential();
+
+ /**
+ * Returns the credential that this provider uses to sign SAML
+ * assertions, or <code>null</code> if assertions should not be signed.
+ *
+ * @return the credential or <code>null</code>
+ */
+ public Credential getAssertionSigningCredential();
}
package edu.internet2.middleware.shibboleth.common;
/**
+ * Defines a relationship between service providers and an identity
+ * provider. In Shibboleth parlance, a relying party represents a target or
+ * federation.
+ *
* @author Walter Hoehn
*/
public interface RelyingParty extends ServiceProvider {
- public String getName();
- public String getProviderId();
- public IdentityProvider getIdentityProvider();
+ /**
+ * Returns the name of the relying party. If the relying party is a
+ * Shibboleth target (not a federation), this function returns the same
+ * thing as {@link #getProviderId}.
+ *
+ * @return name of the relying party
+ */
+ public String getName();
+
+ /**
+ * Returns the appropriate identity provider to create assertions for
+ * this relying party.
+ *
+ * @return the identity provider
+ */
+ public IdentityProvider getIdentityProvider();
}
package edu.internet2.middleware.shibboleth.common;
/**
+ * Defines a consumer of SAML assertions. In Shibboleth parlance,
+ * represents a target.
+ *
+ * @see IdentityProvider
* @author Walter Hoehn
*/
public interface ServiceProvider {
- public String getProviderId();
+
+ /**
+ * Returns the unique identifier for the service provider.
+ *
+ * @return the provider ID
+ */
+ public String getProviderId();
}