diff --git a/2-Legged-OAuth/2-Legged-OAuth_rev2_2019_12_12.zip b/2-Legged-OAuth/2-Legged-OAuth_rev2_2019_12_12.zip new file mode 100644 index 0000000..e8aac43 Binary files /dev/null and b/2-Legged-OAuth/2-Legged-OAuth_rev2_2019_12_12.zip differ diff --git a/2-Legged-OAuth/apiproxy/2-Legged-OAuth.xml b/2-Legged-OAuth/apiproxy/2-Legged-OAuth.xml new file mode 100644 index 0000000..8700cac --- /dev/null +++ b/2-Legged-OAuth/apiproxy/2-Legged-OAuth.xml @@ -0,0 +1,23 @@ + + + /clientoauth + + 1576144374918 + pamesh12@gmail.com + 2-Legged OAuth Client_crendential + 2-Legged-OAuth + 1576144506514 + pamesh12@gmail.com + SHA-512:b56e29dcd3512a971cb564ff4109a79a49e2cc6656c9d229b9ce0e00fbcd6a795da7cff71043e2cae351690c3630d8e7e9273a1b76e96cf9918a2a0267742b40 + + GenerateToken + verify-api-key + + + default + + + + + + diff --git a/2-Legged-OAuth/apiproxy/manifests/manifest.xml b/2-Legged-OAuth/apiproxy/manifests/manifest.xml new file mode 100644 index 0000000..ec3cf1c --- /dev/null +++ b/2-Legged-OAuth/apiproxy/manifests/manifest.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/2-Legged-OAuth/apiproxy/policies/GenerateToken.xml b/2-Legged-OAuth/apiproxy/policies/GenerateToken.xml new file mode 100644 index 0000000..2a206d0 --- /dev/null +++ b/2-Legged-OAuth/apiproxy/policies/GenerateToken.xml @@ -0,0 +1,14 @@ + + + GenerateToken + + + false + GenerateAccessToken + 3600000 + + client_credentials + + + + \ No newline at end of file diff --git a/2-Legged-OAuth/apiproxy/policies/verify-api-key.xml b/2-Legged-OAuth/apiproxy/policies/verify-api-key.xml new file mode 100644 index 0000000..13ca5cd --- /dev/null +++ b/2-Legged-OAuth/apiproxy/policies/verify-api-key.xml @@ -0,0 +1,5 @@ + + + Verify API Key + + \ No newline at end of file diff --git a/2-Legged-OAuth/apiproxy/proxies/default.xml b/2-Legged-OAuth/apiproxy/proxies/default.xml new file mode 100644 index 0000000..03c3801 --- /dev/null +++ b/2-Legged-OAuth/apiproxy/proxies/default.xml @@ -0,0 +1,35 @@ + + + + + + + + verify-api-key + + + + + + + + + + + GenerateOauthToken + + + GenerateToken + + + + (proxy.pathsuffix MatchesPath "/token") and (request.verb = "POST") + + + + /clientoauth + + default + + + \ No newline at end of file diff --git a/CacheDemoApi/CacheDemoApi_rev2_2019_12_12.zip b/CacheDemoApi/CacheDemoApi_rev2_2019_12_12.zip new file mode 100644 index 0000000..ece94e2 Binary files /dev/null and b/CacheDemoApi/CacheDemoApi_rev2_2019_12_12.zip differ diff --git a/CacheDemoApi/apiproxy/CacheDemoApi.xml b/CacheDemoApi/apiproxy/CacheDemoApi.xml new file mode 100644 index 0000000..0c79d6d --- /dev/null +++ b/CacheDemoApi/apiproxy/CacheDemoApi.xml @@ -0,0 +1,33 @@ + + + /cachedemoapi + + 1576144286350 + pamesh12@gmail.com + + CacheDemoApi + 1576157529446 + pamesh12@gmail.com + SHA-512:0c4039eddea3161896409a244a481260cb44149ba614297bd7aeefb379b500adbb85e1a0587cdcd9d60b81407a37675f4fa500cf159b60652ef089a16cb02560 + + BuildAccessTokenRequest + CheckAccessTokenCache + ExtractAccessToken + GetCredentials + GetOAuthToken + SetAccessToken + SetAccessTokenCache + SetAccessTokenFromCache + remove-header-authorization + verify-oauth-v2-access-token + + + default + + + + + + default + + diff --git a/CacheDemoApi/apiproxy/manifests/manifest.xml b/CacheDemoApi/apiproxy/manifests/manifest.xml new file mode 100644 index 0000000..cdf292e --- /dev/null +++ b/CacheDemoApi/apiproxy/manifests/manifest.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CacheDemoApi/apiproxy/policies/BuildAccessTokenRequest.xml b/CacheDemoApi/apiproxy/policies/BuildAccessTokenRequest.xml new file mode 100644 index 0000000..1578f3c --- /dev/null +++ b/CacheDemoApi/apiproxy/policies/BuildAccessTokenRequest.xml @@ -0,0 +1,18 @@ + + + BuildAccessTokenRequest + + + +
application/json
+
+ + client_credentials + ZCEk72XewNHAFALMq26cakp3pvGF2vVG + HMpwSifJjwq42ifV + + POST +
+ true + OAuthAccessTokenRequest +
\ No newline at end of file diff --git a/CacheDemoApi/apiproxy/policies/CheckAccessTokenCache.xml b/CacheDemoApi/apiproxy/policies/CheckAccessTokenCache.xml new file mode 100644 index 0000000..7cdea76 --- /dev/null +++ b/CacheDemoApi/apiproxy/policies/CheckAccessTokenCache.xml @@ -0,0 +1,12 @@ + + + CheckAccessTokenCache + + + ExternalOAuth_ + {ext.clientId} + + ExtApiCache + Exclusive + external.oauth.cached.accessToken + \ No newline at end of file diff --git a/CacheDemoApi/apiproxy/policies/ExtractAccessToken.xml b/CacheDemoApi/apiproxy/policies/ExtractAccessToken.xml new file mode 100644 index 0000000..a4e9b8e --- /dev/null +++ b/CacheDemoApi/apiproxy/policies/ExtractAccessToken.xml @@ -0,0 +1,12 @@ + + + ExtractAccessToken + + true + + + $.access_token + + + OAuthAccessTokenResponse + \ No newline at end of file diff --git a/CacheDemoApi/apiproxy/policies/GetCredentials.xml b/CacheDemoApi/apiproxy/policies/GetCredentials.xml new file mode 100644 index 0000000..214f925 --- /dev/null +++ b/CacheDemoApi/apiproxy/policies/GetCredentials.xml @@ -0,0 +1,18 @@ + + + GetCredentials + + false + 300 + + + clientId + + + + + clientSecret + + + environment + \ No newline at end of file diff --git a/CacheDemoApi/apiproxy/policies/GetOAuthToken.xml b/CacheDemoApi/apiproxy/policies/GetOAuthToken.xml new file mode 100644 index 0000000..bd3570d --- /dev/null +++ b/CacheDemoApi/apiproxy/policies/GetOAuthToken.xml @@ -0,0 +1,12 @@ + + + GetOAuthToken + + + false + + OAuthAccessTokenResponse + + http://pamesh12-eval-test.apigee.net/externaloauthapi/token + + \ No newline at end of file diff --git a/CacheDemoApi/apiproxy/policies/SetAccessToken.xml b/CacheDemoApi/apiproxy/policies/SetAccessToken.xml new file mode 100644 index 0000000..907f78e --- /dev/null +++ b/CacheDemoApi/apiproxy/policies/SetAccessToken.xml @@ -0,0 +1,11 @@ + + + SetAccessToken + + +
Bearer {access_token}
+
+
+ true + +
\ No newline at end of file diff --git a/CacheDemoApi/apiproxy/policies/SetAccessTokenCache.xml b/CacheDemoApi/apiproxy/policies/SetAccessTokenCache.xml new file mode 100644 index 0000000..7e609d1 --- /dev/null +++ b/CacheDemoApi/apiproxy/policies/SetAccessTokenCache.xml @@ -0,0 +1,15 @@ + + + SetAccessTokenCache + + + ExternalOAuth_ + {ext.clientId} + + Exclusive + ExtApiCache + + 3600 + + access_token + \ No newline at end of file diff --git a/CacheDemoApi/apiproxy/policies/SetAccessTokenFromCache.xml b/CacheDemoApi/apiproxy/policies/SetAccessTokenFromCache.xml new file mode 100644 index 0000000..683f276 --- /dev/null +++ b/CacheDemoApi/apiproxy/policies/SetAccessTokenFromCache.xml @@ -0,0 +1,12 @@ + + + SetAccessTokenFromCache + + + +
Bearer {external.oauth.cached.accessToken}
+
+
+ true + +
\ No newline at end of file diff --git a/CacheDemoApi/apiproxy/policies/remove-header-authorization.xml b/CacheDemoApi/apiproxy/policies/remove-header-authorization.xml new file mode 100644 index 0000000..7b8ef40 --- /dev/null +++ b/CacheDemoApi/apiproxy/policies/remove-header-authorization.xml @@ -0,0 +1,11 @@ + + + Remove Header Authorization +    + +        
+        +     +   true +    + \ No newline at end of file diff --git a/CacheDemoApi/apiproxy/policies/verify-oauth-v2-access-token.xml b/CacheDemoApi/apiproxy/policies/verify-oauth-v2-access-token.xml new file mode 100644 index 0000000..3b64e6b --- /dev/null +++ b/CacheDemoApi/apiproxy/policies/verify-oauth-v2-access-token.xml @@ -0,0 +1,5 @@ + + + Verify OAuth v2.0 Access Token + VerifyAccessToken + \ No newline at end of file diff --git a/CacheDemoApi/apiproxy/proxies/default.xml b/CacheDemoApi/apiproxy/proxies/default.xml new file mode 100644 index 0000000..caf50c7 --- /dev/null +++ b/CacheDemoApi/apiproxy/proxies/default.xml @@ -0,0 +1,29 @@ + + + + + + + + verify-oauth-v2-access-token + + + remove-header-authorization + + + + + + + + + + + /cachedemoapi + + default + + + default + + \ No newline at end of file diff --git a/CacheDemoApi/apiproxy/targets/default.xml b/CacheDemoApi/apiproxy/targets/default.xml new file mode 100644 index 0000000..41e04ea --- /dev/null +++ b/CacheDemoApi/apiproxy/targets/default.xml @@ -0,0 +1,56 @@ + + + + + + + + + + GetCredentials + + + CheckAccessTokenCache + + + external.oauth.cached.accessToken = null + BuildAccessTokenRequest + + + external.oauth.cached.accessToken = null + GetOAuthToken + + + external.oauth.cached.accessToken = null and OAuthAccessTokenResponse.status.code==200 + ExtractAccessToken + + + external.oauth.cached.accessToken = null and OAuthAccessTokenResponse.status.code==200 + SetAccessToken + + + external.oauth.cached.accessToken = null and OAuthAccessTokenResponse.status.code==200 + SetAccessTokenCache + + + external.oauth.cached.accessToken != null + SetAccessTokenFromCache + + + + + + + + + + + + http://pamesh12-eval-test.apigee.net/externalapi + + \ No newline at end of file diff --git a/ExternalApi/ExternalApi_rev1_2019_12_12.zip b/ExternalApi/ExternalApi_rev1_2019_12_12.zip new file mode 100644 index 0000000..2378c5b Binary files /dev/null and b/ExternalApi/ExternalApi_rev1_2019_12_12.zip differ diff --git a/ExternalApi/apiproxy/ExternalApi.xml b/ExternalApi/apiproxy/ExternalApi.xml new file mode 100644 index 0000000..4c6ec6b --- /dev/null +++ b/ExternalApi/apiproxy/ExternalApi.xml @@ -0,0 +1,24 @@ + + + /externalapi + + 1576142148759 + pamesh12@gmail.com + Dummy Api to demonstrate response caching of OAuth Token + ExternalApi + 1576157356815 + pamesh12@gmail.com + SHA-512:45dddae3ec745b06e5ef3d5a832d17060471a9e3e3d8138fccced7af1206c537d969fefb7bab4d9d32b3b7943a77bc812f88cb88811278c21d57d2982bf5a24c + + AM-Response + remove-header-authorization + verify-oauth-v2-access-token + + + default + + + + + + diff --git a/ExternalApi/apiproxy/manifests/manifest.xml b/ExternalApi/apiproxy/manifests/manifest.xml new file mode 100644 index 0000000..3f1af1b --- /dev/null +++ b/ExternalApi/apiproxy/manifests/manifest.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ExternalApi/apiproxy/policies/AM-Response.xml b/ExternalApi/apiproxy/policies/AM-Response.xml new file mode 100644 index 0000000..a5e3535 --- /dev/null +++ b/ExternalApi/apiproxy/policies/AM-Response.xml @@ -0,0 +1,15 @@ + + + AM-Response + + + + { + "Response" : "External API Dummy Response", + "Time" : %system.time# + } + + + true + + \ No newline at end of file diff --git a/ExternalApi/apiproxy/policies/remove-header-authorization.xml b/ExternalApi/apiproxy/policies/remove-header-authorization.xml new file mode 100644 index 0000000..7b8ef40 --- /dev/null +++ b/ExternalApi/apiproxy/policies/remove-header-authorization.xml @@ -0,0 +1,11 @@ + + + Remove Header Authorization +    + +        
+        +     +   true +    + \ No newline at end of file diff --git a/ExternalApi/apiproxy/policies/verify-oauth-v2-access-token.xml b/ExternalApi/apiproxy/policies/verify-oauth-v2-access-token.xml new file mode 100644 index 0000000..3b64e6b --- /dev/null +++ b/ExternalApi/apiproxy/policies/verify-oauth-v2-access-token.xml @@ -0,0 +1,5 @@ + + + Verify OAuth v2.0 Access Token + VerifyAccessToken + \ No newline at end of file diff --git a/ExternalApi/apiproxy/proxies/default.xml b/ExternalApi/apiproxy/proxies/default.xml new file mode 100644 index 0000000..d38cc5f --- /dev/null +++ b/ExternalApi/apiproxy/proxies/default.xml @@ -0,0 +1,31 @@ + + + + + + + + verify-oauth-v2-access-token + + + remove-header-authorization + + + + + + + + + AM-Response + + + + + + /externalapi + + default + + + \ No newline at end of file diff --git a/ExternalOAuthApi/ExternalOAuthApi_rev2_2019_12_12.zip b/ExternalOAuthApi/ExternalOAuthApi_rev2_2019_12_12.zip new file mode 100644 index 0000000..7bed302 Binary files /dev/null and b/ExternalOAuthApi/ExternalOAuthApi_rev2_2019_12_12.zip differ diff --git a/ExternalOAuthApi/apiproxy/ExternalOAuthApi.xml b/ExternalOAuthApi/apiproxy/ExternalOAuthApi.xml new file mode 100644 index 0000000..3654fc9 --- /dev/null +++ b/ExternalOAuthApi/apiproxy/ExternalOAuthApi.xml @@ -0,0 +1,23 @@ + + + /externaloauthapi + + 1576142582125 + pamesh12@gmail.com + API for demonstrating 2 legged OAuth from External System + ExternalOAuthApi + 1576143726727 + pamesh12@gmail.com + SHA-512:755eed169a14235ea875fe5776a36108850286dffb90782e8442704b075ba0789250a0a719697706760e13da85f5c50bf7d5e8d232a061680c6b8928858435b2 + + GenerateToken + VerifyAPIKey + + + default + + + + + + diff --git a/ExternalOAuthApi/apiproxy/manifests/manifest.xml b/ExternalOAuthApi/apiproxy/manifests/manifest.xml new file mode 100644 index 0000000..8756bd1 --- /dev/null +++ b/ExternalOAuthApi/apiproxy/manifests/manifest.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/ExternalOAuthApi/apiproxy/policies/GenerateToken.xml b/ExternalOAuthApi/apiproxy/policies/GenerateToken.xml new file mode 100644 index 0000000..2a206d0 --- /dev/null +++ b/ExternalOAuthApi/apiproxy/policies/GenerateToken.xml @@ -0,0 +1,14 @@ + + + GenerateToken + + + false + GenerateAccessToken + 3600000 + + client_credentials + + + + \ No newline at end of file diff --git a/ExternalOAuthApi/apiproxy/policies/VerifyAPIKey.xml b/ExternalOAuthApi/apiproxy/policies/VerifyAPIKey.xml new file mode 100644 index 0000000..be1d586 --- /dev/null +++ b/ExternalOAuthApi/apiproxy/policies/VerifyAPIKey.xml @@ -0,0 +1,6 @@ + + + VerifyAPIKey + + + \ No newline at end of file diff --git a/ExternalOAuthApi/apiproxy/proxies/default.xml b/ExternalOAuthApi/apiproxy/proxies/default.xml new file mode 100644 index 0000000..259339e --- /dev/null +++ b/ExternalOAuthApi/apiproxy/proxies/default.xml @@ -0,0 +1,35 @@ + + + + + + + + VerifyAPIKey + + + + + + + + + + + GenerateOauthToken + + + GenerateToken + + + + (proxy.pathsuffix MatchesPath "/token") and (request.verb = "POST") + + + + /externaloauthapi + + default + + + \ No newline at end of file