Skip to content

Commit de61024

Browse files
authoredOct 16, 2021
Update README.md
1 parent 8851ca5 commit de61024

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed
 

‎README.md

+33
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
## Low Budget Proof Key for Code Exchange (PKCE) Implementation using Java Spring-boot
2+
#### Just for fun, low budget implementation of PKCE Auth Flow using a single Spring-boot application that exposes APIs to act as an authorization and resource server both.
23
### Screen Recording showing Auth Flow (62 Seconds)
34
https://user-images.githubusercontent.com/69693621/137596996-2b5d48ce-9d5b-4e17-9472-c774eddd725f.mov
45

@@ -85,6 +86,38 @@ com.behl.ehrmantraut.security.code-expiration-minutes=2
8586
"refreshToken": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJtaWtlLmVocm1hbnRyYXV0QGdtYWlsLmNvbSIsImV4cCI6MTYzNTY5MTQyMiwiaWF0IjoxNjM0Mzk1NDIyfQ.Lf7dQNSDZ9NUp6W4a8HwtZb0dWrgy9wpsxH4Pjb2VOg"
8687
}
8788
```
89+
---
8890
91+
### PRs welcome, Star repository to show support
92+
### Tech stack used
93+
* Java 17
94+
* Spring-boot 2.5.5
95+
* Spring-Security and [JJWT](https://github.com/jwtk/jjwt)
96+
* Spring-JPA/Hibernate
97+
* H2 in-memory DB
98+
* Lombok
99+
* LoadingCache (in [Guava](https://github.com/google/guava)) to store userAuthenticationDetails in memory
89100
101+
### Local Setup
102+
* Install Java 17 (recommended to use [SdkMan](https://sdkman.io))
90103
104+
`sdk install java 17-open`
105+
* Install Maven (recommended to use [SdkMan](https://sdkman.io))
106+
107+
`sdk install maven`
108+
109+
* Clone the repo and Go to application.properties under src/main/resources and configure properties as required
110+
111+
* Run the below command in core
112+
113+
`mvn clean install`
114+
115+
* To start the application, run any of the below 2 commands
116+
117+
`mvn spring-boot:run &`
118+
119+
`java -jar /target/budget-pkce-0.0.1-SNAPSHOT.jar`
120+
121+
* Access the swagger-ui
122+
123+
`http://localhost:8080/swagger-ui.html`

0 commit comments

Comments
 (0)