Coder Social home page Coder Social logo

jwt-fake-authorization-server's Introduction

jwt-fake-authorization-server

docker

# build image
$ ./gradlew bootBuildImage

# run 
$ docker-compose up


endpoints

  • swagger-ui: http://localhost:9000/swagger-ui.html

  • GET /.well-known/jwks.json

    • expose public rsa key
  • POST /oauth/sign-token

    • to sign any jwt payload
  • POST /oauth/generate-rsa-keys

    • generate rsa key pair (public, private)

use case: sign an arbitrary jwt payload

jwt payload to be signed ...

{
  "https://example.com/claims/family_name": "my-family-name",
  "sub": "my-issuer-1|my-user-id-1",
  "aud": [
    "my-audience-1",
    "my-audience-2"
  ],
  "https://app.example.com/roles": [
    "my-role-1",
    "my-role-2"
  ],
  "scope": "openid profile email",
  "iss": "https://my-issuer-1.local",
  "https://example.com/claims/given_name": "my-given-name",
  "https://example.com/claims/userid": "my-issuer-1|my-user-id-1",
  "exp": 1936954919,
  "iat": 1604327123,
  "https://example.com/claims/email": "[email protected]"
}


$ curl -v -X POST "http://localhost:9000/oauth/sign-token" -H "accept: */*" -H "Content-Type: application/json" -d "{ \"https://example.com/claims/family_name\": \"my-family-name\", \"sub\": \"my-issuer-1|my-user-id-1\", \"aud\": [ \"my-audience-1\", \"my-audience-2\" ], \"https://app.example.com/roles\": [ \"my-role-1\", \"my-role-2\" ], \"scope\": \"openid profile email\", \"iss\": \"https://my-issuer-1.local\", \"https://example.com/claims/given_name\": \"my-given-name\", \"https://example.com/claims/userid\": \"my-issuer-1|my-user-id-1\", \"exp\": 1936954919, \"iat\": 1604327123, \"https://example.com/claims/email\": \"[email protected]\"}"

response:

{
  "token": "Bearer eyJraWQiOiJhNjYwNThiNC00MDY0LTRlZjYtOGMwYi05OGZjZDA3MWIyZWMiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJodHRwczpcL1wvZXhhbXBsZS5jb21cL2NsYWltc1wvZmFtaWx5X25hbWUiOiJteS1mYW1pbHktbmFtZSIsInN1YiI6Im15LWlzc3Vlci0xfG15LXVzZXItaWQtMSIsImF1ZCI6WyJteS1hdWRpZW5jZS0xIiwibXktYXVkaWVuY2UtMiJdLCJodHRwczpcL1wvYXBwLmV4YW1wbGUuY29tXC9yb2xlcyI6WyJteS1yb2xlLTEiLCJteS1yb2xlLTIiXSwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBlbWFpbCIsImlzcyI6Imh0dHBzOlwvXC9teS1pc3N1ZXItMS5sb2NhbCIsImh0dHBzOlwvXC9leGFtcGxlLmNvbVwvY2xhaW1zXC9naXZlbl9uYW1lIjoibXktZ2l2ZW4tbmFtZSIsImh0dHBzOlwvXC9leGFtcGxlLmNvbVwvY2xhaW1zXC91c2VyaWQiOiJteS1pc3N1ZXItMXxteS11c2VyLWlkLTEiLCJleHAiOjE5MzY5NjM5NzksImlhdCI6MTYwNDMyNzEyMywiaHR0cHM6XC9cL2V4YW1wbGUuY29tXC9jbGFpbXNcL2VtYWlsIjoibXkuZW1haWxAZXhhbXBsZS5jb20ifQ.UtdlTNRKAYVtwiJa1WjWNqR5WS1S-pujyxXa3OgoAGiBNdMoWUWk70gH9pN57gxWctmvIJlpDmooKvrEfjVPHGUp_ulQa0UbqLwvjcc1V9CkYkkb3_e2RXc9dCkImHzfktxldyDLI2std1gAGOOezNuOUkuOJwA3rj06QllOynheiY4CS_wep-9D4no1CW3wFkrPnpFyaThsi_ZJGC0KXmMWYXu3Ay4kWxje7FBHVo23miQ5UimqlKaiizZGbkjYQRK8dYLYR5PG0HEDJ7KGxsQYHN7MfbrNucgmkg2NhT6npeOyY4e0Cj8YegGtQhvI2CTP_t6GntVWtP3RPD0V9g"
}

jwt-fake-authorization-server's People

Contributors

bastman avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.