pets
, which you will be using for the remainder of this tutorial. Within this folder, update auth0-variables.js
with your Auth0 Application AUTH0_CLIENT_ID
and AUTH0_CLIENT_ID
(this information is available in the Management Dashboard for the application in question).
pets
folder to your S3 bucket to provide content for the website.
If you are using a pre-existing bucket, you can move the files with the AWS CLI using the following command.
http://your-bucket.s3-website-us-east-1.amazonaws.com
If you don’t know what your URL is, you can find it listed under the Properties tab of your S3 bucket.
Before going further, test logging into your application. Open http://your-bucket-domain/index.html
in your browser. After logging in, you should see an alert box pop up that says “getPets not implemented”:
You should also see the page for viewing pets.
pets/login/login.js
as follows to get an AWS delegation token from the identity token after a successful signin with auth.signin
. Note that you are treating any user not logged in using a Social Connection as an admin. Later, we’ll code a second role and show better ways to enforce role selection.
role
and principal
strings (which are the final two lines of the if
statement contained in the provided function), specify the appropriate values via Rules:
role
and [principal]
ARN values with the ones for your integration.
Copy the updated files to your S3 bucket for your website.
Optionally, you can set a breakpoint in the browser at store.set('awstoken', delegation.Credentials);
. When you log out and and log back in, inspect delegation.Credentials
when you arrive at the breakpoint. You will see a familiar values like AccessKeyId and SecretAccessKey:
pets
directory. The contents should include:
apiClient.js
;lib
folder;README.md
.README.md
in the pets
directory, so you will need to rename one of the files to keep both in the directory. The README.md
for the API gateway explains how to use the API application from your Auth0 Application.
Open the index.html
file located in the root of your pets
folder to add all of the scripts listed at the top of the API readme to index.html
:
apigClient.js
, you can see that the downloaded library has created wrappers like petsPost
and petsGet
for your API methods. You do not need to modify this generated code.
home.js
in the home
folder, and update the contents of getPets
with a method for retrieving pets data (be sure to update the region if you are not running in us-east-1
):
pets
table.
Modify the putPets
method logic to update pets using your API function. This function will be used for both adding and removing pets.
Pet Type
and Pet Price
.<Pet Type>
for sale for <Pet Price>
” with a red REMOVE button to its left.
To add security, add the getSecureApiClient
function at the start of the putPets
method:
getSecureApiClient
function provided for you retrieves the AWS token from local storage acquired using delegation to the API, and uses the access key, secret, and session token: