From 74802764061ccd3a870b41b49e0a2600380d3d0e Mon Sep 17 00:00:00 2001 From: Craig Date: Wed, 13 Nov 2024 20:42:19 -1000 Subject: [PATCH] added client_secret screenshot --- docs/images/tutorial2/client_secret.png | Bin 0 -> 73738 bytes docs/tutorial2.md | 93 +++++++++++++++++++++++- 2 files changed, 90 insertions(+), 3 deletions(-) create mode 100644 docs/images/tutorial2/client_secret.png diff --git a/docs/images/tutorial2/client_secret.png b/docs/images/tutorial2/client_secret.png new file mode 100644 index 0000000000000000000000000000000000000000..1ce2dc6220eb935aef57054f7aa8f8f3242f5aef GIT binary patch literal 73738 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 X40lMbcaNfQ00000NkvXXu0mjfPf6Hc literal 0 HcmV?d00001 diff --git a/docs/tutorial2.md b/docs/tutorial2.md index c923254..24ce134 100644 --- a/docs/tutorial2.md +++ b/docs/tutorial2.md @@ -46,14 +46,22 @@ To generate the viewer token, you need the following: 1. Client ID 2. Private Key -We will use PyJWT to generate the viewer token with the Private Key. +We will use PyJWT and cryptography to generate the viewer token with the Private Key. -### install PyJWT +### install PyJWT and cryptography + +PyJWT is needed to generate the JSON Web Token that the +viewer needs. The cryptography package is needed for the +RS256 encryption used to encode the token. ```text -pip install PyJWT +pip install PyJWT cryptography ``` +!!! tip + You can check the Python packages installed in your environment + with `pip freeze` + ### Create `server.py` file Use VSCode or equivalent to create a file, `server.py`. @@ -68,3 +76,82 @@ The Private Key is long. Put it in triple quotes. The Client ID is shorter. ![client id](images/tutorial2/client_id.png) + +With the `CLIENT_ID` and `PRIVATE_KEY` set in your Python +script, you can now generate the token for the RICOH360 Viewer. + +```python linenums="34" title="server.py snippet" +# generate token for RICOH360 Viewer +payload = {"client_id": CLIENT_ID} +token = jwt.encode(payload, PRIVATE_KEY, algorithm="RS256") +print(f"token for RICOH360 Viewer: {token}") +``` + +### run `server.py` + +Test the RICOH360 Viewer token creation by running +`python server.py`. + +Expected output is shown below. The token is shortened +in the example. + +```text +python server.py +token for RICOH360 Viewer: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.XE4c2tlamFtaTQzbmZqcWM3YjhwNGxjcXAifQ... +... +... +``` + +## contentId + +We can now instantiate the viewer. However, we won't be able to +see any image in the viewer until we supply it with a contentId. + +```javascript linenums="1" hl_lines="8" title="index.html snippet" +// instantiate viewer object +const viewer = new RICOH360Viewer({ + divId: "viewer", + onFetchToken: () => "{{token}}", +}); +// start viewer with content +viewer.start({ + contentId: "{{contentId}}" +}); +``` + +### Requirements for contentId + +You need the following to get a contentId: + +1. RICOH THETA images loaded up into your account on the RICOH360 Cloud +1. RICOH360 Cloud token generated with AWS Cognito + +In addition to the requirements above, you also need the following from RICOH +to generate a RICOH360 Cloud token. + +1. Client ID +1. Client Secret + +The Client ID is the same ID used to generate the RICOH360 Viewer token. + +Add the `CLIENT_SECRET` below the `CLIENT_ID` in your `server.py` file. + +![client secret](images/tutorial2/client_secret.png) + +### install requests + +```text +pip install requests +``` + +Import requests and base64 in your `server.py` file. + +```python +import jwt +import requests +import base64 + +PRIVATE_KEY = """-----BEGIN PRIVATE KEY----- +... +... +```