Creating a Custom Authorizer
Function
This API is used to create a custom authorizer.
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/authorizers
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. For details about how to obtain a project ID, see "Appendix" > "Obtaining a Project ID" in this document. |
instance_id |
Yes |
String |
Gateway ID, which can be obtained from the gateway information on the APIG console. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
User token. It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is a token. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Custom authorizer name. It can contain 3 to 64 characters, starting with a letter. Only letters, digits, and underscores (_) are allowed. |
type |
Yes |
String |
Custom authorizer type.
Modification is not allowed. Enumeration values:
|
authorizer_type |
Yes |
String |
Value: FUNC. Enumeration values:
|
authorizer_uri |
Yes |
String |
Function URN. |
authorizer_version |
No |
String |
Function version. If both a function alias URN and version are passed, the alias URN will be used and the version will be ignored. Maximum: 64 |
authorizer_alias_uri |
No |
String |
Function alias URN. If both a function alias URN and version are passed, the alias URN will be used and the version will be ignored. |
identities |
No |
Array of Identity objects |
Identity source. |
ttl |
No |
Integer |
Maximum cache age. |
user_data |
No |
String |
User data. |
ld_api_id |
No |
String |
Custom backend ID. Currently, this parameter is not supported. |
need_body |
No |
Boolean |
Indicates whether to send the body. |
Response Parameters
Status code: 201
Parameter |
Type |
Description |
---|---|---|
name |
String |
Custom authorizer name. It can contain 3 to 64 characters, starting with a letter. Only letters, digits, and underscores (_) are allowed. |
type |
String |
Custom authorizer type.
Modification is not allowed. Enumeration values:
|
authorizer_type |
String |
Value: FUNC. Enumeration values:
|
authorizer_uri |
String |
Function URN. |
authorizer_version |
String |
Function version. If both a function alias URN and version are passed, the alias URN will be used and the version will be ignored. Maximum: 64 |
authorizer_alias_uri |
String |
Function alias URN. If both a function alias URN and version are passed, the alias URN will be used and the version will be ignored. |
identities |
Array of Identity objects |
Identity source. |
ttl |
Integer |
Maximum cache age. |
user_data |
String |
User data. |
ld_api_id |
String |
Custom backend ID. Currently, this parameter is not supported. |
need_body |
Boolean |
Indicates whether to send the body. |
id |
String |
Custom authorizer ID. |
create_time |
String |
Creation time. |
roma_app_id |
String |
ID of the application to which the custom authorizer belongs. Currently, this parameter is not supported. |
roma_app_name |
String |
Name of the application to which the custom authorizer belongs. Currently, this parameter is not supported. |
Parameter |
Type |
Description |
---|---|---|
name |
String |
Parameter name. |
location |
String |
Parameter location. Enumeration values:
|
validation |
String |
Parameter verification expression. The default value is null, indicating that no verification is performed. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 403
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 404
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Example Requests
{ "name" : "Authorizer_demo", "type" : "FRONTEND", "authorizer_type" : "FUNC", "authorizer_uri" : "urn:fss:xx-xxx:106506b9a92342df9a5025fc12351cfc:function:defau:apigDemo_1592617458814", "authorizer_version" : "v1", "authorizer_alias_uri" : "urn:fss:xx-xxx-4:106506b9a92342df9a5025fc12351cfc:function:defau:apigDemo_1592617458814:!v1", "identities" : [ { "name" : "header", "location" : "HEADER" } ], "user_data" : "authorizer_test" }
Example Responses
Status code: 201
Created
{ "name" : "Authorizer_demo", "type" : "FRONTEND", "authorizer_type" : "FUNC", "authorizer_uri" : "urn:fss:xx-xxx-4:106506b9a92342df9a5025fc12351cfc:function:defau:apigDemo_1592617458814", "authorizer_version" : "v1", "authorizer_alias_uri" : "urn:fss:xx-xxx-4:106506b9a92342df9a5025fc12351cfc:function:defau:apigDemo_1592617458814:!v1", "identities" : [ { "name" : "header", "location" : "HEADER" } ], "ttl" : 0, "user_data" : "authorizer_test", "id" : "0d982c1ac3da493dae47627b6439fc5c", "create_time" : "2020-07-31T11:55:43Z" }
Status code: 400
Bad Request
{ "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:type. Please refer to the support documentation" }
Status code: 401
Unauthorized
{ "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" }
Status code: 403
Forbidden
{ "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" }
Status code: 404
Not Found
{ "error_code" : "APIG.3019", "error_msg" : "The function URN does not exist" }
Status code: 500
Internal Server Error
{ "error_code" : "APIG.9999", "error_msg" : "System error" }
Status Codes
Status Code |
Description |
---|---|
201 |
Created |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
500 |
Internal Server Error |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.