Skip to content

oktadev/okta-postgresql-spring-boot-example

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Boot with PostgreSQL, Flyway, and JSONB

This example shows how to create an application using Spring Boot, PostgreSQL, Flyway, and JSONB. Please read Spring Boot with PostgreSQL, Flyway, and JSONB to see how this app was created.

Prerequisites: Java 8.

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-postgresql-spring-boot-example.git
cd okta-postgresql-spring-boot-example

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

./gradlew bootRun

This will likely fail. You need to configure a PostgreSQL database with the following settings in src/main/resources/application.properties.

spring.datasource.url=jdbc:postgresql://192.168.99.100:5432/coursedb
spring.datasource.username=postgres
spring.datasource.password=mysecretpassword
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=create

And start PostgreSQL in a Docker container:

docker pull postgres:11
docker run --name dev-postgres -p 5432:5432 -e POSTGRES_PASSWORD=mysecretpassword -d postgres:11
# CREATE db coursedb
docker exec dev-postgres psql -U postgres -c"CREATE DATABASE coursedb" postgres

Create an Application in Okta

You will need to create an application in Okta to get your values to lock down your API.

Log in to your Okta Developer account (or sign up if you don’t have an account) and navigate to Applications > Add Application > Service. This will allow you to create a resource server that does not have a login page or any way to obtain new tokens.

Click Next, type the name of your service, then click Done. Copy and paste the Client ID in to your application.properties file. Your issuer URL can be found in API > Authorization Servers.

okta.oauth2.issuer=https://{yourOktaDomain}/oauth2/default
okta.oauth2.clientId={yourClientId}

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

After modifying this file, restart your app and you should be able to authenticate with Okta.

Links

This example uses Okta's Spring Boot Starter.

Help

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

License

Apache 2.0, see LICENSE.