Class SAML2AssertionDetails
java.lang.Object
com.nimbusds.oauth2.sdk.assertions.AssertionDetails
com.nimbusds.oauth2.sdk.assertions.saml2.SAML2AssertionDetails
SAML 2.0 bearer assertion details for OAuth 2.0 client authentication and
authorisation grants.
Used for SAML 2.0 bearer
assertion grants.
Example SAML 2.0 assertion:
<Assertion IssueInstant="2010-10-01T20:07:34.619Z"
ID="ef1xsbZxPV2oqjd7HTLRLIBlBb7"
Version="2.0"
xmlns="urn:oasis:names:tc:SAML:2.0:assertion">
<Issuer>https://saml-idp.example.com</Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
[...omitted for brevity...]
</ds:Signature>
<Subject>
<NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">
brian@example.com
</NameID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<SubjectConfirmationData NotOnOrAfter="2010-10-01T20:12:34.619Z"
Recipient="https://authz.example.net/token.oauth2"/>
</SubjectConfirmation>
</Subject>
<Conditions>
<AudienceRestriction>
<Audience>https://saml-sp.example.net</Audience>
</AudienceRestriction>
</Conditions>
<AuthnStatement AuthnInstant="2010-10-01T20:07:34.371Z">
<AuthnContext>
<AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:X509</AuthnContextClassRef>
</AuthnContext>
</AuthnStatement>
</Assertion>
Related specifications:
- Security Assertion Markup Language (SAML) 2.0 Profile for OAuth 2.0 Client Authentication and Authorization Grants (RFC 7522), section 3.
-
Constructor Summary
ConstructorsConstructorDescriptionSAML2AssertionDetails(Issuer issuer, Subject subject, Audience audience) Creates a new SAML 2.0 bearer assertion details instance.SAML2AssertionDetails(Issuer issuer, Subject subject, String subjectFormat, Date subjectAuthTime, ACR subjectACR, List<Audience> audience, Date exp, Date nbf, Date iat, Identifier id, InetAddress clientAddress, Map<String, List<String>> attrStatement) Creates a new SAML 2.0 bearer assertion details instance. -
Method Summary
Modifier and TypeMethodDescriptionReturns the optional attribute statement.Returns the optional client address to which this assertion is bound.Returns the optional not-before time.Returns the optional subject Authentication Context Class Reference (ACR).Returns the optional subject authentication time.Returns the optional subject format.static SAML2AssertionDetailsparse(org.opensaml.saml.saml2.core.Assertion assertion) Parses a SAML 2.0 bearer assertion details instance from the specified assertion object.org.opensaml.saml.saml2.core.AssertionReturns a SAML 2.0 assertion (unsigned) representation of this assertion details instance.Methods inherited from class com.nimbusds.oauth2.sdk.assertions.AssertionDetails
getAudience, getExpirationTime, getID, getIssuer, getIssueTime, getSubject
-
Constructor Details
-
SAML2AssertionDetails
Creates a new SAML 2.0 bearer assertion details instance. The expiration time is set to five minutes from the current system time. Generates a default identifier for the assertion. The issue time is set to the current system time.- Parameters:
issuer- The issuer. Must not benull.subject- The subject. Must not benull.audience- The audience, typically the URI of the authorisation server's token endpoint. Must not benull.
-
SAML2AssertionDetails
public SAML2AssertionDetails(Issuer issuer, Subject subject, String subjectFormat, Date subjectAuthTime, ACR subjectACR, List<Audience> audience, Date exp, Date nbf, Date iat, Identifier id, InetAddress clientAddress, Map<String, List<String>> attrStatement) Creates a new SAML 2.0 bearer assertion details instance.- Parameters:
issuer- The issuer. Must not benull.subject- The subject. Must not benull.subjectFormat- The subject format,nullif not specified.subjectAuthTime- The subject authentication time,nullif not specified.subjectACR- The subject Authentication Context Class Reference (ACR),nullif not specified.audience- The audience, typically including the URI of the authorisation server's token endpoint. Must not benull.exp- The expiration time. Must not benull.nbf- The time before which the assertion must not be accepted for processing,nullif not specified.iat- The time at which the assertion was issued. Must not benull.id- Unique identifier for the assertion. Must not benull.clientAddress- The client address,nullif not specified.attrStatement- The attribute statement (in simplified form),nullif not specified.
-
-
Method Details
-
getSubjectFormat
Returns the optional subject format.- Returns:
- The subject format,
nullif not specified.
-
getSubjectAuthenticationTime
Returns the optional subject authentication time.- Returns:
- The subject authentication time,
nullif not specified.
-
getSubjectACR
Returns the optional subject Authentication Context Class Reference (ACR).- Returns:
- The subject ACR,
nullif not specified.
-
getNotBeforeTime
Returns the optional not-before time.- Returns:
- The not-before time,
nullif not specified.
-
getClientInetAddress
Returns the optional client address to which this assertion is bound.- Returns:
- The client address,
nullif not specified.
-
getAttributeStatement
Returns the optional attribute statement.- Returns:
- The attribute statement (in simplified form),
nullif not specified.
-
toSAML2Assertion
Returns a SAML 2.0 assertion (unsigned) representation of this assertion details instance.- Returns:
- The SAML 2.0 assertion (with no signature element).
- Throws:
SerializeException- If serialisation failed.
-
parse
public static SAML2AssertionDetails parse(org.opensaml.saml.saml2.core.Assertion assertion) throws ParseException Parses a SAML 2.0 bearer assertion details instance from the specified assertion object.- Parameters:
assertion- The assertion. Must not benull.- Returns:
- The SAML 2.0 bearer assertion details.
- Throws:
ParseException- If the assertion couldn't be parsed to a SAML 2.0 bearer assertion details instance.
-