public class Property extends Object implements Serializable
This class is used mainly to represent an extra property
that is associated with an access token. Some Authlete APIs
(such as /api/auth/token API) accept an array of
properties via properties request parameter and
associate the properties with an access token.
| Constructor and Description |
|---|
Property()
Constructor with a
null key and a null value. |
Property(String key,
String value)
Constructor with a pair of key and value.
|
Property(String key,
String value,
boolean hidden)
Constructor with a pair of key and value, and a flag to mark
this property as hidden or not.
|
| Modifier and Type | Method and Description |
|---|---|
String |
getKey()
Get the key.
|
String |
getValue()
Get the value.
|
boolean |
isHidden()
Check if this property is hidden from client applications.
|
Property |
setHidden(boolean hidden)
Set this property hidden from or visible to client applications.
|
Property |
setKey(String key)
Set the key.
|
Property |
setValue(String value)
Set the value.
|
String |
toString()
Get the string representation of this property in the format of
"{key}={value}". |
public Property()
null key and a null value.public Property(String key, String value)
this(key, value, false).key - value - public Property(String key, String value, boolean hidden)
key - value - hidden - true to mark this property as hidden. See the
JavaDoc of isHidden() for details.public String getKey()
public String getValue()
public Property setValue(String value)
value - Valuethis object.public boolean isHidden()
If a property is not hidden, the property will come along with an access token.
For example, if you set the properties request parameter as follows when
you call Authlete's /api/auth/token API,
"properties": [
{
"key":"example_parameter",
"value":"example_value",
"hidden":false
}
]
The value of responseContent in the response from the API will contain
the pair of example_parameter and example_value like below,
"responseContent": "{\"access_token\":\"(abbrev)\",\"example_parameter\":\"example_value\",...}"
and this will result in that the client application will receive a JSON which contains the pair like the following.
{
"access_token":"(abbrev)",
"example_parameter":"example_value",
...
}
On the other hand, if you mark a property as hidden like below,
"properties": [
{
"key":"hidden_parameter",
"value":"hidden_value",
"hidden":true
}
]
the client application will never see the property in any response from
your authorization server. However, of course, the property is still
associated with the access token and it can be confirmed by calling
Authlete's /api/auth/introspection API (which is an API to get
information about an access token). A response from the API contains all
properties associated with the given access token regardless of whether
they are hidden or visible. The following is an example from Authlete's
introspection API.
{
"type":"introspectionResponse",
"resultCode":"A056001",
"resultMessage":"[A056001] The access token is valid.",
"action":"OK",
"clientId":5008706718,
"existent":true,
"expiresAt":1463310477000,
"properties":[
{
"hidden":false,
"key":"example_parameter",
"value":"example_value"
},
{
"hidden":true,
"key":"hidden_parameter",
"value":"hidden_value"
}
],
"refreshable":true,
"responseContent":"Bearer error=\"invalid_request\"",
"subject":"user123",
"sufficient":true,
"usable":true
}
true if this property is hidden from client applications.
false if this property is visible to client applications.public Property setHidden(boolean hidden)
isHidden() method for the difference between
hidden and visible.hidden - true to hide this property from client applications.
false to make this property visible to client applications.this object.Copyright © 2019. All rights reserved.