Merge branch 'master' of github.com:yogsototh/oauth2-client-demo

This commit is contained in:
Yann Esposito (Yogsototh) 2020-03-03 21:52:43 +01:00
commit e0314e920c
Signed by untrusted user who does not match committer: yogsototh
GPG key ID: 7B19A4C650D59646
4 changed files with 44 additions and 0 deletions

19
README.md Normal file
View file

@ -0,0 +1,19 @@
Test OAuth2 Authorization Code Grant process
Code is quite minimal done in js with no lib.
## Running the Demo
If you don't want to use sws, you can use python 3.
``` python
python server.py
```
## Utility scripts
Modify `scripts/get_refresh_token` to retrieve a refresh/access token from the CTR API.
Modify `scripts/test_access_token` to use your access token to query the CTR API.

9
scripts/get_refresh_token.sh Executable file
View file

@ -0,0 +1,9 @@
curl -X POST https://visibility.amp.cisco.com/iroh/oauth2/token \
--header "Accept: application/json" \
--header "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \
--header "User-Agent: ob-http" \
--header "Authorization: Basic <BASE64 ENCODING OF CLIENT_ID:CLIENT_SECRET >" \
-d "code=<CODE JWT RETURNED FROM CTR>" \
-d "redirect_uri=https://localhost:4443/callback" \
-d "scope=admin" \
-d "grant_type=authorization_code"

5
scripts/test_access_token.sh Executable file
View file

@ -0,0 +1,5 @@
curl -G https://visibility.amp.cisco.com/iroh/profile/whoami \
--header "Accept: application/json" \
--header "application/json; charset=UTF-8" \
--header "User-Agent: ob-http" \
--header "Authorization: Bearer <YOUR_ACCESS_TOKEN_HERE>" \

11
server.py Normal file
View file

@ -0,0 +1,11 @@
import http.server, ssl
server_address = ('localhost', 4443)
httpd = http.server.HTTPServer(server_address, http.server.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket(httpd.socket,
server_side=True,
certfile='cert.pem',
keyfile='nopasskey.pem',
ssl_version=ssl.PROTOCOL_TLS)
print("serving demo on port 4443")
httpd.serve_forever()