Package com.nimbusds.oauth2.sdk
Class ResponseType
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractSet<E>
-
- java.util.HashSet<ResponseType.Value>
-
- com.nimbusds.oauth2.sdk.ResponseType
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Iterable<ResponseType.Value>
,Collection<ResponseType.Value>
,Set<ResponseType.Value>
@NotThreadSafe public class ResponseType extends HashSet<ResponseType.Value>
Authorisation response type.Example response type implying an authorisation code flow:
ResponseType rt = ResponseType.CODE;
Example response type from OpenID Connect specifying an ID token and an access token (implies implicit flow):
ResponseType rt = ResponseType.IDTOKEN_TOKEN);
The following helper methods can be used to find out the implied OAuth 2.0 protocol flow for a response type:
Related specifications:
- OAuth 2.0 (RFC 6749), sections 3.1.1 and 4.1.1.
- OAuth 2.0 Multiple Response Type Encoding Practices.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ResponseType.Value
Authorisation response type value.
-
Field Summary
Fields Modifier and Type Field Description static ResponseType
CODE
Constant forresponse_type=code
.static ResponseType
CODE_IDTOKEN
Constant forresponse_type=code id_token
.static ResponseType
CODE_IDTOKEN_TOKEN
Constant forresponse_type=code id_token token
.static ResponseType
CODE_TOKEN
Constant forresponse_type=code token
.static ResponseType
IDTOKEN
Constant forresponse_type=id_token
.static ResponseType
IDTOKEN_TOKEN
Constant forresponse_type=id_token token
.static ResponseType
TOKEN
Constant forresponse_type=token
.
-
Constructor Summary
Constructors Constructor Description ResponseType()
Creates a new empty response type.ResponseType(ResponseType.Value... values)
Creates a new response type with the specified values.ResponseType(String... values)
Creates a new response type with the specified string values.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(ResponseType.Value value)
boolean
addAll(Collection<? extends ResponseType.Value> c)
void
clear()
boolean
contains(String value)
Checks if this response type contains the specified string value.static ResponseType
getDefault()
Gets the default response type.boolean
impliesCodeFlow()
Returnstrue
if this response type implies an authorisation code flow.boolean
impliesHybridFlow()
Returnstrue
if this response type implies an OpenID Connect hybrid flow.boolean
impliesImplicitFlow()
Returnstrue
if this response type implies an implicit flow.static ResponseType
parse(String s)
Parses a set of authorisation response types.boolean
remove(Object o)
boolean
removeAll(Collection<?> c)
boolean
retainAll(Collection<?> c)
String
toString()
Returns the string representation of this authorisation response type.-
Methods inherited from class java.util.HashSet
clone, contains, isEmpty, iterator, size, spliterator
-
Methods inherited from class java.util.AbstractSet
equals, hashCode
-
Methods inherited from class java.util.AbstractCollection
containsAll, toArray, toArray
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
-
-
-
Field Detail
-
CODE
public static final ResponseType CODE
Constant forresponse_type=code
.
-
TOKEN
public static final ResponseType TOKEN
Constant forresponse_type=token
.
-
IDTOKEN_TOKEN
public static final ResponseType IDTOKEN_TOKEN
Constant forresponse_type=id_token token
.
-
IDTOKEN
public static final ResponseType IDTOKEN
Constant forresponse_type=id_token
.
-
CODE_IDTOKEN
public static final ResponseType CODE_IDTOKEN
Constant forresponse_type=code id_token
.
-
CODE_TOKEN
public static final ResponseType CODE_TOKEN
Constant forresponse_type=code token
.
-
CODE_IDTOKEN_TOKEN
public static final ResponseType CODE_IDTOKEN_TOKEN
Constant forresponse_type=code id_token token
.
-
-
Constructor Detail
-
ResponseType
public ResponseType()
Creates a new empty response type.
-
ResponseType
public ResponseType(String... values)
Creates a new response type with the specified string values.- Parameters:
values
- The string values. Must not benull
.
-
ResponseType
public ResponseType(ResponseType.Value... values)
Creates a new response type with the specified values.- Parameters:
values
- The values. Must not benull
.
-
-
Method Detail
-
getDefault
public static ResponseType getDefault()
Gets the default response type.- Returns:
- The default response type, consisting of the value
ResponseType.Value.CODE
.
-
parse
public static ResponseType parse(String s) throws ParseException
Parses a set of authorisation response types.- Parameters:
s
- Space-delimited list of one or more authorisation response types.- Returns:
- The authorisation response types set.
- Throws:
ParseException
- If the parsed string isnull
or empty.
-
impliesCodeFlow
public boolean impliesCodeFlow()
Returnstrue
if this response type implies an authorisation code flow.Code flow response_type values: code
- Returns:
true
if a code flow is implied, elsefalse
.
-
impliesImplicitFlow
public boolean impliesImplicitFlow()
Returnstrue
if this response type implies an implicit flow.Implicit flow response_type values: token, id_token token, id_token
- Returns:
true
if an implicit flow is implied, elsefalse
.
-
impliesHybridFlow
public boolean impliesHybridFlow()
Returnstrue
if this response type implies an OpenID Connect hybrid flow.Hybrid flow response_type values: code id_token, code token, code id_token token
- Returns:
true
if a hybrid flow is implied, elsefalse
.
-
contains
public boolean contains(String value)
Checks if this response type contains the specified string value.- Parameters:
value
- The string value. Must not benull
.- Returns:
true
if the value is contained, elsefalse
.
-
toString
public String toString()
Returns the string representation of this authorisation response type.Example serialised response types:
code token id_token id_token token code token code id_token code id_token token
- Overrides:
toString
in classAbstractCollection<ResponseType.Value>
- Returns:
- Space delimited string representing the authorisation response type.
-
add
public boolean add(ResponseType.Value value)
- Specified by:
add
in interfaceCollection<ResponseType.Value>
- Specified by:
add
in interfaceSet<ResponseType.Value>
- Overrides:
add
in classHashSet<ResponseType.Value>
-
remove
public boolean remove(Object o)
- Specified by:
remove
in interfaceCollection<ResponseType.Value>
- Specified by:
remove
in interfaceSet<ResponseType.Value>
- Overrides:
remove
in classHashSet<ResponseType.Value>
-
clear
public void clear()
- Specified by:
clear
in interfaceCollection<ResponseType.Value>
- Specified by:
clear
in interfaceSet<ResponseType.Value>
- Overrides:
clear
in classHashSet<ResponseType.Value>
-
removeAll
public boolean removeAll(Collection<?> c)
- Specified by:
removeAll
in interfaceCollection<ResponseType.Value>
- Specified by:
removeAll
in interfaceSet<ResponseType.Value>
- Overrides:
removeAll
in classAbstractSet<ResponseType.Value>
-
addAll
public boolean addAll(Collection<? extends ResponseType.Value> c)
- Specified by:
addAll
in interfaceCollection<ResponseType.Value>
- Specified by:
addAll
in interfaceSet<ResponseType.Value>
- Overrides:
addAll
in classAbstractCollection<ResponseType.Value>
-
retainAll
public boolean retainAll(Collection<?> c)
- Specified by:
retainAll
in interfaceCollection<ResponseType.Value>
- Specified by:
retainAll
in interfaceSet<ResponseType.Value>
- Overrides:
retainAll
in classAbstractCollection<ResponseType.Value>
-
-