Skip to content

oktadev/okta-vanilla-js-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Vanilla JavaScript App with Authentication

This example app shows how to use Vanilla JavaScript to build an app and add authentication with Okta.

Please read Add Authentication to Your Vanilla JavaScript App in 20 Minutes to see how this app was created.

Prerequisites: Node.js.

Okta has Authentication and User Management APIs that reduce development time with instant-on, scalable user infrastructure. Okta's intuitive API and expert support make it easy for developers to authenticate, manage, and secure users and roles in any application.

Getting Started

To install this example application, run the following commands:

git clone https://github.com/oktadeveloper/okta-vanilla-js-example.git
cd okta-vanilla-js-example

This will get a copy of the project installed locally. To install all of its dependencies and start the app, follow the instructions below.

npm install
node .

Setup Okta

Log in to your Okta Developer account (or sign up if you don’t have an account) and navigate to Applications > Add Application. Click Single-Page App, click Next, and give the app a name you’ll remember. Click Done.

Server Configuration

Open index.js and replace {YOUR_OKTA_DOMAIN} in the following code block.

const oktaJwtVerifier = new OktaJwtVerifier({
  issuer: 'https://{YOUR_OKTA_DOMAIN}/oauth2/default'
})

NOTE: The value of {YOUR_OKTA_DOMAIN} should be something like dev-123456.oktapreview.com. Make sure you don't include -admin in the value!

Client Configuration

For the client, set the baseUrl, clientId, and authParams.issuer in public/main.js.

this.signIn = new OktaSignIn({
  baseUrl: 'https://{yourOktaDomain}',
  clientId: '{clientId}',
  redirectUri: 'http://localhost:8080',
  authParams: {
    issuer: 'https://{yourOktaDomain}/oauth2/default',
    pkce: false,
    responseType: ['id_token','token']
  },
  logo: '//placehold.it/200x40?text=Your+Logo',
  i18n: {
    en: {
      'primaryauth.title': 'Sign in to Calorie Tracker'
    }
  }
})

Links

This example uses the following libraries provided by Okta:

Help

Please post any questions as comments on the blog post, or visit our Okta Developer Forums. You can also email developers@okta.com if would like to create a support ticket.

License

Apache 2.0, see LICENSE.