I am trying to set up a couple of APIs with Tyk CE. One of the APIs uses a policy+key but the other one does not. I have followed the docs here.
So the APIs, policy, and key exist. Yet, I keep getting the error:
Key not authorized: no matching policy
I believe that somehow the policy is not being read. I feel this way because the only way to set policies is to add the file. I have seen that anything related to just dumping the files in the corresponding directories does not work. For example, I have to add APIs via /tyk/apis endpoint because dumping the files in apps/ directory does not work (it returns an empty list, that is, no APIs registered even though files exist).
I wonder if the same is true for the policies part?
Or here is what my policies/policies.json
looks like
{
"policy21": {
"access_rights": {
"21": {
"allowed_urls": [],
"api_id": "21",
"api_name": "myapi",
"versions": [
"Default"
]
}
},
"active": true,
"name": "My Awesome Policy",
"rate": 100,
"per": 1,
"quota_max": 10000,
"quota_renewal_rate": 3600,
"tags": ["Startup Users"]
},
"default": {
"rate": 1000,
"per": 1,
"quota_max": 100,
"quota_renewal_rate": 60,
"access_rights": {
"41433797848f41a558c1573d3e55a410": {
"api_name": "My API",
"api_id": "41433797848f41a558c1573d3e55a410",
"versions": [
"Default"
]
}
},
"org_id": "54de205930c55e15bd000001",
"hmac_enabled": false
}
}
And the API definition has
"openid_options": {
"segregate_by_client": false,
"providers": [
{
"issuer": "<issuer url>",
"client_ids": {
"base64-client-id": "policy21"
}
}
]
},
Obviously, the API ID setup via the endpoint /tyk/apis is “21”.
I would really appreciate any help. Also, if there is a stepwise tutorial on how to move with Tyk CE, please point me to that.
Some more details about the steps I see in DEBUG log level:
- “Generated Session ID: …f396d5”
- Querying local cache
- Querying keystore
- Could not get session detail, key not found
- Querying authstore
- Error trying to get value:redis: nil
- Key not found in storage engine
- Key does not exist, creating
- Attempted access with invalid key key=“****96d5”
- EVENT FIRED: AuthFailure
- Could not find a valid policy to apply to this token!
- Key not authorized: no matching policy
I am not sure if this a key issue or a policy issue.
I have also seen that the session that Tyk creates is identical no matter how many times you install Tyk. Is that expected?
Thank you,
AJ