LIBERTY BIKES
An online game for 1-4 players Built on microservices
LIBERTY BIKES An online game for 1-4 players Built on microservices - - PowerPoint PPT Presentation
LIBERTY BIKES An online game for 1-4 players Built on microservices What is Liberty Bikes? What is Liberty Bikes? Objective: be the last player alive Join a game by entering a code Bikes move at the same speed Each round
An online game for 1-4 players Built on microservices
and you’re out!
across rounds
back later to see if you still hold the top spot
Player Service (REST) Auth Service (REST) Game Service
(REST + websockets)
DB UI (Angular)
SSO providers (Google, Twitter, GitHub)
Player Service (REST) Auth Service (REST) Game Service
(REST + websockets)
DB UI (Angular)
SSO providers (Google, Twitter, GitHub)
Player Service (REST) Auth Service (REST) Game Service
(REST + websockets)
DB UI (Angular)
SSO providers (Google, Twitter, GitHub)
Player Service (REST) Auth Service (REST) Game Service
(REST + websockets)
DB UI (Angular)
SSO providers (Google, Twitter, GitHub)
Player Service (REST) Auth Service (REST) Game Service
(REST + websockets)
DB UI (Angular)
SSO providers (Google, Twitter, GitHub)
Player Service (REST) Auth Service (REST) Game Service
(REST + websockets)
DB UI (Angular)
SSO providers (Google, Twitter, GitHub)
Player Service (REST) Auth Service (REST) (REST + websockets) SSO providers DB UI (Angular)
(REST + websockets) (REST + websockets) (REST + websockets) Game Service (REST + websockets)
Player Service v1 (REST)
Auth Service (REST) Game Service (REST + websockets) SSO providers DB UI (Angular)
Player Service (REST) Auth Service (REST) Game Service (REST + websockets) SSO providers DB UI (Angular)
Player Service (REST) Auth Service (REST) Game Service (REST + websockets) SSO providers DB UI (Angular)
Player Service (REST) Auth Service (REST) Game Service (REST + websockets) SSO providers DB UI (Angular)
8
Liberty server.xml includes the needed features
GET https://github.com/login/oauth/access_tokenclient_id=foo&client_secret=foo&…
GET https://github.com/ login/oauth/ access_token ?client_id=foo&client_secret=foo&…
Player Service (REST) Game Service (REST + websockets) DB
$ export auth_url=https://production.com/auth-service $ export github_key=superSecret
Required Optional Override
java.util.NoSuchElementException: CWMCG0015E: The property foo was not found in the configuration
Validation
eyJhbGciOiJIUzI1NiI sInR5cCI6IkpXVCJ9. eyJzdWIiOiIxMjM0N TY3ODkwIiwibmFtZS I6IkpvaG4gRG9lIiwia WF0IjoxNTE2MjM5M DIyfQ.VfiYwvArp2lN V6UgpwgqrqfbJp9Q pMdv07M8ZI4u4Vkw liFtz67lkDF8keyGciql
payload
{ “alg”: “RS256”, “typ”: “JWT” } { “iss”: “libertybikes.com”, “sub”: “Andy”, ”groups”: [ “admin”, “user” ], … } RS256( BASE64(header), BASE64(payload), secret)
header signature
different claims
BASIC CUSTOM