= MicroProfile JWT Principal
:index-group: MicroProfile
:jbake-type: page
:jbake-status: published

Este é um exemplo de como usar o MicroProfile JWT no TomEE, acessando o `Principal` no JsonWebToken.

== Executando a aplicação:

[source, bash]
----
mvn clean install tomee:run
----

Este exemplo é uma aplicação CRUD para pedidos na loja.

== Requisitos e configuração

Para o uso do MicroProfile JWT, precisamos alterar o seguinte em nosso projeto:

[arabic]
. Adicione a dependência ao nosso arquivo `pom.xml`:
+
[source,xml]
----
<dependency>
    <groupId>org.eclipse.microprofile.jwt</groupId>
    <artifactId>microprofile-jwt-auth-api</artifactId>
    <version>${mp-jwt.version}</version>
    <scope>provided</scope>
</dependency>
----
. Anote nossa `Application.class` com `@LoginConfig(authMethod = "MP-JWT")`

. Forneça `public` and `private key` para autenticação. E especifique a localização da `public key` e do `issuer` no nosso arquivo `microprofile-config.properties`.
+
[source,properties]
----
mp.jwt.verify.publickey.location=/publicKey.pem
mp.jwt.verify.issuer=https://example.com
----

. Defina `@RolesAllowed()` nos endpoints que queremos proteger.

== Obtenção do JWT Principal

Obtemos o `Principal` na classe MicroProfile `org.eclipse.microprofile.jwt.JsonWebToken`. De lá
podemos adquirir o nome de usuário e os grupos do usuário que está acessando o endpoint.

[source,java]
----
@Inject
private JsonWebToken jwtPrincipal;
----

== Sobre a arquitetura da aplicação

A aplicação nos permite manipular pedidos com usuários específicos. Temos dois usuários: `Alice Wonder` e `John Doe`. Eles podem ler, criar, editar e excluir entradas específicas. E para cada criação, salvamos o usuário que criou o pedido. Caso um usuário edite a entrada, registramos que, acessando o `Principal` que enviou a solicitação ao nosso back-end.

`alice-wonder-jwt.json`

[source,json]
----
{
  "iss": "https://example.com",
  "upn": "alice",
  "sub": "alice.wonder@example.com",
  "name": "Alice Wonder",
  "iat": 1516239022,
  "groups": [
    "buyer"
  ]
}
----

`john-doe-jwt.json`
[source,json]
----
{
  "iss": "https://example.com",
  "upn": "john",
  "sub": "john.doe@example.com",
  "name": "John Doe",
  "iat": 1516239022,
  "groups": [
    "merchant"
  ]
}
----

== Acesse os endpoints com JWT token

Acessamos os endpoints da nossa classe de teste criando um `JWT` com a ajuda do nosso `TokenUtils.generateJWTString(String jsonResource)`, que assina nossos dados do usuário no formato json com a ajuda do nossa chave `src/test/resources/privateKey.pem.`

Também podemos gerar o novo `privateKey.pem` e `publicKey.pem` com o método `GenerateKeyUtils.generateKeyPair(String keyAlgorithm, int keySize)`.