This application provides user interface elements - username and password - so customers can authenticate via OAuth2. It communicates with OBP and Hydra APIs to achieve this.
Go to file
2020-09-22 17:01:34 +08:00
.mvn/wrapper initiate project 2020-09-21 17:19:49 +08:00
src delete set email to idToken 2020-09-22 17:01:34 +08:00
.gitignore initiate project 2020-09-21 17:19:49 +08:00
LICENSE added copyright note 2020-09-21 10:45:56 +02:00
mvnw initiate project 2020-09-21 17:19:49 +08:00
mvnw.cmd initiate project 2020-09-21 17:19:49 +08:00
pom.xml initiate project 2020-09-21 17:19:49 +08:00
README.md update README.md, add description of install steps 2020-09-21 22:40:44 +08:00

Spring Boot application as Hydra Identity Provider.

Install steps:

1. Deploy Hydra server

Check this reference hydra 5min-tutorial, to install hydra, take the Docker way as example. Fix the quickstart.yml file as follows in environment part, the URL values is just step2 corresponding url, pay attention the leading blank characters, it is yml file.

      - URLS_CONSENT=http://localhost:8086/consent
      - URLS_LOGIN=http://localhost:8086/login
      - URLS_LOGOUT=http://localhost:8086/logout

execute this command to start the hydra server:

docker-compose -f quickstart.yml \
    -f quickstart-postgres.yml \
    -f quickstart-tracing.yml \
    up --build

The hydra server correponding url example:

oauth2.admin_url=http://127.0.0.1:4445
oauth2.public_url=http://127.0.0.1:4444

2. Deploy obp-api server:

The props should contain the follow settings:

## if login_with_hydra set to true, all other props must not be empty
login_with_hydra=true
# hydra server urls
hydra_public_url=http://127.0.0.1:4444
hydra_admin_url=http://127.0.0.1:4445
# Consent names
hydra_consents=ReadAccountsBasic,ReadAccountsDetail,ReadBalances,ReadTransactionsBasic,ReadTransactionsDebits,ReadTransactionsDetail
## check the oauth2.jwk_set.url props, it must contains jwks.json that locate in ${hydra_public_url}/.well-known/jwks.json
##oauth2.jwk_set.url=http://localhost:4444/.well-known/jwks.json,https://www.googleapis.com/oauth2/v3/certs
## whether create hydra client when create consumer, default is false
mirror_consumer_in_hydra=true

The obp-api server url example: http://localhost:8080

Login obp-api portal, create one consumer for project OBP-Hydra-Identity-Provider The consumer_key example: yp5tgl0thzjj1jk0sobqljpxyo514dsjvxoe1ngy

3. Deploy OBP-Hydra-Identity-Provider:

execute command: mvn clean package

generate jar file in target folder: hydra-identity-provider-xxx.jar

Create application.properties file, and content as follows:

# current project port number
server.port=8086
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.servlet.content-type=text/html;

# hydra server urls
oauth2.admin_url=http://127.0.0.1:4445
oauth2.public_url=http://127.0.0.1:4444

# obp-api server url
obp.base_url=http://localhost:8080
# set consumer_key that generate in 1 step
consumer_key=yp5tgl0thzjj1jk0sobqljpxyo514dsjvxoe1ngy

make the application.properties file near to hydra-identity-provider-xxx.jar

execute command to start this project: java -jar hydra-identity-provider-xxx.jar

So the project running on http://localhost:8086

4. Deploy demo project obp-hydra-auth2: OBP-Hydra-OAuth2

execute command: mvn clean package

generate jar file in target folder: obp-hydra-auth2-xxx.jar

crate file application.properties, and the content as follow:

# server port number
server.port=8081

# hydra server urls
oauth2.admin_url=http://127.0.0.1:4445
oauth2.public_url=http://127.0.0.1:4444
# login url that the same as hydra evironment: URLS_LOGIN
oauth2.authenticate_url=http://localhost:8086/login
obp.base_url=http://localhost:8080

# create one consumer, and copy OAuth2 information past here:
oauth2.client_id=z3xh2jrf4y2t3h0th0jbs0fs54zg1wqffoupexwy
oauth2.client_secret=1qxhj0uz3b5kvypi1lstqvfwysiyezuusdidxxih
oauth2.redirect_uri=http://127.0.0.1:8081/main.html
oauth2.client_scope=ReadAccountsBasic,\
ReadAccountsDetail,\
ReadBalances,\
ReadTransactionsBasic,\
ReadTransactionsDebits,\
ReadTransactionsDetail

make the application.properties file near to obp-hydra-auth2-xxx.jar

execute command to start this project: java -jar obp-hydra-auth2-xxx.jar

So the project running on http://localhost:8081

5. open web browser with url: http://localhost:8081/index.html

Videos

server install video

show uk oauth2 flow