= OAuth 2.0 Authorization Server Sample

This sample demonstrates an Authorization Server that supports a simple, static JWK Set.

It's useful for working with the other samples in the library that want to point to an Authorization Server.

== 1. Running the server

To run the server, do:

```bash
./gradlew bootRun
```

Or import the project into your IDE and run `OAuth2AuthorizationServerApplication` from there.

Once it is up, this request asks for a token with the "message:read" scope:

```bash
curl reader:secret@localhost:8081/oauth/token -d grant_type=password -d username=subject -d password=password
```

Which will respond with something like:

```json
{
    "access_token":"eyJhbGciOiJSUzI1NiIsI...Fhq4RIVyA4ZAkC7T1aZbKAQ",
    "token_type":"bearer",
    "expires_in":599999999,
    "scope":"message:read",
    "jti":"8a425df7-f4c9-4ca4-be12-0136c3015da0"
}
```

You can also so the same with the `writer` client:

```bash
curl writer:secret@localhost:8081/oauth/token -d grant_type=password -d username=subject -d password=password
```
