Verify an invite token
Verifies an invite token provided in serialized form. Upon success, returns the token's subject. Does not check if the token can be effectively consumed (only if prerequisites are satisfied - the token itself is valid).
Optionally, contextual information that may be required to verify token caveats can be provided in the request body:
- IP address of the token bearer - defaults to the requesting client's IP,
- consumer's identity token - consumer defaults to the authenticated client
if valid token credentials are sent with this request, or
nullotherwise, - expected invite token type, which will cause verification to fail if it does not match the actual token type. If not specified, the procedure will check if given token is an invite token of any type.
If the token cannot be positively verified, HTTP code 4xx is returned with an error describing the reason of failure.
This operation has public access.
Example cURL requests
Verify an invite token
curl -X POST https://$ZONE_HOST/api/v3/onezone/tokens/verify_invite_token \
-H 'Content-type: application/json' \
-d '{
"token": "MDAxNmxvY2F00aW9uIHJlZ2lzdHJ5CjAwM2JpZGVudGlmaW",
"peerIp": "38.190.241.12",
"expectedInviteType": "userJoinGroup"
}'
{
"subject": {
"type": "user",
"id": "1b510f18b3b05611871c0acdffa9aed4"
},
"ttl": 3600
}
Request body
The token to be verified and optional parameters.
The token in serialized form.
The IP address of the token bearer.
Identity token of the consumer that wishes to use the token being verified.
Expected type of the invite token - verification will not succeed if it does not match the actual invite token type.
Request Examples
{
"token": "MDAxNmxvY2F00aW9uIHJlZ2lzdHJ5CjAwM2JpZGVudGlmaW",
"peerIp": "38.190.241.12",
"consumerToken": "MDAzYmlkZW50aWZpZXIgOEhmSEFSSGdrbHFCa1pWSTRsNk5",
"expectedInviteType": "userJoinGroup"
}Responses
Successful token verification result.
subject object (TokenPropertySubject) The subject of the token - the user or Oneprovider in whose name the token was issued. The bearer (consumer) of the token adopts the subject's identity when accessing services with that token.
The subject of the token - the user or Oneprovider in whose name the token was issued. The bearer (consumer) of the token adopts the subject's identity when accessing services with that token.
Type of the subject
Id of the subject
Token's TTL in seconds (or null if infinite)
Example
{
"subject": {
"type": "user",
"id": "1b510f18b3b05611871c0acdffa9aed4"
},
"ttl": 3600
}Invalid request.
error object Object describing an error.
Object describing an error.
String identifying the error type. Does not change between error instances.
Human readable error description. May contain information specific to given error instance.
Details about the error instance. The object schema is specific to each error type.
Example
{
"error": {
"id": "badValueString",
"details": {
"key": "name"
},
"description": "Bad value: provided \"name\" must be a string."
}
}Authentication error.
error object Object describing an error.
Object describing an error.
String identifying the error type. Does not change between error instances.
Human readable error description. May contain information specific to given error instance.
Details about the error instance. The object schema is specific to each error type.
Example
{
"error": {
"id": "badValueString",
"details": {
"key": "name"
},
"description": "Bad value: provided \"name\" must be a string."
}
}Authorization error.
error object Object describing an error.
Object describing an error.
String identifying the error type. Does not change between error instances.
Human readable error description. May contain information specific to given error instance.
Details about the error instance. The object schema is specific to each error type.
Example
{
"error": {
"id": "badValueString",
"details": {
"key": "name"
},
"description": "Bad value: provided \"name\" must be a string."
}
}Resource not found.
error object Object describing an error.
Object describing an error.
String identifying the error type. Does not change between error instances.
Human readable error description. May contain information specific to given error instance.
Details about the error instance. The object schema is specific to each error type.
Example
{
"error": {
"id": "badValueString",
"details": {
"key": "name"
},
"description": "Bad value: provided \"name\" must be a string."
}
}Internal server Error.
error object Object describing an error.
Object describing an error.
String identifying the error type. Does not change between error instances.
Human readable error description. May contain information specific to given error instance.
Details about the error instance. The object schema is specific to each error type.
Example
{
"error": {
"id": "badValueString",
"details": {
"key": "name"
},
"description": "Bad value: provided \"name\" must be a string."
}
}