Skip to content

oktadev/okta-microprofile-graphql-example

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MicroProfile GraphQL API Example

This repository shows how to create a GrapQL API with MicroProfile and use JWT for authentication. Please read How to GraphQL with MicroProfile to see how this example was created.

Prerequisites:

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, run the following commands:

git clone https://github.com/oktadeveloper/okta-microprofile-graphql-example.git
cd okta-microprofile-graphql-example

Create an Application in Okta

Log in to your Okta Developer account (or sign up if you don’t have an account).

  1. From the Applications page, choose Add Application.
  2. On the Create New Application page, select Web.
  3. Give your app a memorable name, add https://oidcdebugger.com/debug as a Login redirect URI, check the box next to Implicit (Hybrid), then click Done.

Modify pom.xml to use your Okta domain:

<properties>
  ...
  <liberty.var.oktaDomain>{yourOktaDomain}</liberty.var.oktaDomain>
</properties>

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

Build your app and start the server:

mvn liberty:run

To generate a JWT access token, go to https://oidcdebugger.com and fill out the values for your OIDC application.

In a shell, store the token in a variable:

TOKEN=eyJraWQiOiJBX05XeGVXcVdrNG5pUjBFWlJnbWg5X3JJ...

Then, use it to hit the API and authenticate with OAuth 2.0:

http POST :9080/graphql query='{ surfReport(location:"Texas") {windKnots,swellHeight,swellPeriodSeconds} }' "Authorization: Bearer $TOKEN"

Links

This example uses the following open source libraries:

Help

Please post any questions as comments on the blog post, or on the Okta Developer Forums.

License

Apache 2.0, see LICENSE.

About

No description, website, or topics provided.

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 91.4%
  • HTML 8.6%