<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Spring Boot - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Aprenda a codificar - de graça. Tutoriais de programação em Python, JavaScript, Linux e muito mais. ]]>
        </description>
        <link>https://www.freecodecamp.org/portuguese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Spring Boot - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/portuguese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 13 Jun 2026 14:16:44 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/portuguese/news/tag/spring-boot/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Como testar serviços, endpoints e repositórios com o SpringBoot ]]>
                </title>
                <description>
                    <![CDATA[ Escrito por: Emre Savcı Neste artigo, mostrarei como escrever testes unitários em aplicações do SpringBoot. A razão da necessidade de escrever testes unitários pede um outro artigo para explicar. Para uma breve explicação, no entanto, vou contar a você algumas coisas. Normalmente, eu defendo o argumento de que um código ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/como-testar-servicos-endpoints-e-repositorios-com-o-springboot/</link>
                <guid isPermaLink="false">63320ea55c046e06ec87b0ce</guid>
                
                    <category>
                        <![CDATA[ Spring Boot ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Glaucia Esppenchutz ]]>
                </dc:creator>
                <pubDate>Thu, 17 Nov 2022 21:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/1_aH_ifsVI0cI5P5Guu1X1CQ.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/unit-testing-services-endpoints-and-repositories-in-spring-boot-4b7d9dc2b772/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to test services, endpoints, and repositories in Spring Boot</a>
      </p><p>Escrito por: Emre Savcı</p><p>Neste artigo, mostrarei como escrever testes unitários em aplicações do SpringBoot.</p><p>A razão da necessidade de escrever testes unitários pede um outro artigo para explicar. Para uma breve explicação, no entanto, vou contar a você algumas coisas.</p><p>Normalmente, eu defendo o argumento de que um código sem testes unitários é um código morto. Isso porque, quando um desenvolvedor adiciona uma nova funcionalidade a um código que não é coberta por testes unitários, fica propenso a sobrescrever alguma regra de negócio (o que mata o código que foi escrito anteriormente). Talvez não fique exatamente propenso, mas você consegue imaginar que podem acontecer erros quando um projeto precisar ser modificado. Testes unitários são a única forma de proteger seu código contra quebras que podem ocorrer em mudanças.</p><h4 id="por-que-testes-unit-rios-em-enpoints"><strong>Por que testes unitários em <em>enpoints</em>?</strong></h4><p>Toda vez que escrevemos um endpoint, precisamos ter certeza de que algumas coisas estão funcionando corretamente. O endpoint deve retornar os dados em uma estrutura correta e lidar com a requisição corretamente. Podemos testar manualmente, o que não é preferível. Então, escrevemos testes unitários para garantir que nossos endpoints funcionam corretamente. Existe também uma forma de testar endpoints usando testes automatizados, mas não é o objetivo deste artigo.</p><h4 id="por-que-testes-unit-rio-em-servi-os"><strong>Por que<strong><strong><strong> </strong></strong></strong>testes unitário em serviços?</strong></h4><p>Isso já deveria ser claro, mas, em todo caso: precisamos ter certeza que nossa regra de negócio funciona corretamente.</p><h4 id="por-que-testes-unit-rios-em-reposit-rios"><strong>Por que testes unitários em repositórios?</strong></h4><p>Existem alguns casos para testar repositórios. É claro que não testamos o próprio framework. Porém, escrevemos testes unitários para ter a certeza de que nossas especificações ou relações foram implementadas corretamente.</p><h3 id="como-testamos-controllers"><strong>Como testamos <em>controllers</em>?</strong></h3><p>Agora é a hora de mostrar a você como testar nossos <em>controllers</em> no SpringBoot. Vamos imaginar que escrevemos uma aplicação que nos permite salvar usuários no nosso banco de dados. Definimos uma entidade <em>user</em> (usuário), um serviço para o usuário e um <em>controller</em>.</p><p><em>Observação: os exemplos demonstrados nesse artigo não são para arquiteturas de aplicações reais em produção.</em></p><pre><code>@Data@Entitypublic class User {    @Id    @GeneratedValue(generator = "uuid2")    @GenericGenerator(name = "uuid2", strategy = "org.hibernate.id.UUIDGenerator")    @Column(name = "id", columnDefinition = "BINARY(16)")    private UUID id;    private String name;    private String email;    private int age;}</code></pre><pre><code>@Datapublic class CreateUserRequest {    private String name;    private String email;    private int age;}</code></pre><pre><code>@RestController@RequestMapping("/users")public class UserController {    UserService userService;    @Autowired    public UserController(UserService userService) {        this.userService = userService;    }    @PostMapping    public ResponseEntity&lt;User&gt; createUser(@RequestBody CreateUserRequest request) {        User created = userService.save(request);        return ResponseEntity.ok(created);    }}</code></pre><p>Nossos <em>controllers</em> tem uma dependência no UserService, mas não estamos interessados no que o serviço faz agora.</p><p>Agora vamos escrever um teste unitário para nosso <em>controller</em> e garantir que ele funciona corretamente.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/ZdQMKmxKk9mlD-AzNuUZpQxdCZ4VSi4ELW6d.png" class="kg-image" alt="ZdQMKmxKk9mlD-AzNuUZpQxdCZ4VSi4ELW6d" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/ZdQMKmxKk9mlD-AzNuUZpQxdCZ4VSi4ELW6d.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/ZdQMKmxKk9mlD-AzNuUZpQxdCZ4VSi4ELW6d.png 800w" sizes="(min-width: 720px) 720px" width="800" height="557" loading="lazy"></figure><p>Simulamos nosso serviço porque ainda não temos sua implementação em detalhes. Testamos nosso <em>controller</em> apenas aqui. Usamos o <code>MockMvc</code> para testar nosso <em>controller</em> e mapear nosso objeto para fins de serialização.</p><p>Configuramos o método <code>userService.Save()</code> para retornar nosso objeto <em>user</em> desejado. Passamos uma requisição para nosso <em>controller</em> e depois verificamos os dados retornados na seguinte linha:</p><p> <code>andExpect(jsonPath("$.name").value(request.getName()))</code> .</p><p>Também temos <a href="https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/test/web/servlet/result/JsonPathResultMatchers.html">outros métodos que podem ser usados</a> (documentação do Spring Boot, em inglês). Aqui está a lista:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/XNRt3lBVu-47pwdDQOg73BhX-Fy3OhCr-mZf.png" class="kg-image" alt="XNRt3lBVu-47pwdDQOg73BhX-Fy3OhCr-mZf" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/XNRt3lBVu-47pwdDQOg73BhX-Fy3OhCr-mZf.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/XNRt3lBVu-47pwdDQOg73BhX-Fy3OhCr-mZf.png 800w" sizes="(min-width: 720px) 720px" width="800" height="479" loading="lazy"></figure><p>Quando executamos o teste, vemos que ele passa:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/Gx1sVQbUTi3rn7DiqgGQuMUVN60-4xWHIHji.png" class="kg-image" alt="Gx1sVQbUTi3rn7DiqgGQuMUVN60-4xWHIHji" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/Gx1sVQbUTi3rn7DiqgGQuMUVN60-4xWHIHji.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/Gx1sVQbUTi3rn7DiqgGQuMUVN60-4xWHIHji.png 800w" sizes="(min-width: 720px) 720px" width="800" height="228" loading="lazy"></figure><h3 id="como-testamos-nosso-servi-o"><strong>Como testamos nosso serviço?</strong></h3><p>Agora, vamos testar o <em>UserService</em>. Ele é bem simples de testar.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/5ALGlLPT49JTxgUal22WbDbfrEhjBHD24eSV.png" class="kg-image" alt="5ALGlLPT49JTxgUal22WbDbfrEhjBHD24eSV" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/5ALGlLPT49JTxgUal22WbDbfrEhjBHD24eSV.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/5ALGlLPT49JTxgUal22WbDbfrEhjBHD24eSV.png 800w" sizes="(min-width: 720px) 720px" width="800" height="444" loading="lazy"></figure><p>Simulamos um repositório e injetamos nele um <em>UserService</em>. Agora, quando executarmos o teste, veremos que ele passa.</p><p>Vamos adicionar uma regra de negócio ao <em>UserService</em>: digamos que o usuário precisa ter um endereço de e-mail.</p><p>Vamos mudar nosso método de salvamento no <em>UserService</em>:</p><pre><code>public User save(CreateUserRequest request) {    requireNonNull(request.getEmail());        User user = new User();    user.setName(request.getName());    user.setEmail(request.getEmail());    user.setAge(request.getAge());    userRepository.save(user);    return user;}</code></pre><p>Quando executamos o teste novamente, veremos que o teste falha.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/HhoeIyT6oUhvYVcCD2nbZepI3S-qbPfhUE5n.png" class="kg-image" alt="HhoeIyT6oUhvYVcCD2nbZepI3S-qbPfhUE5n" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/HhoeIyT6oUhvYVcCD2nbZepI3S-qbPfhUE5n.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/HhoeIyT6oUhvYVcCD2nbZepI3S-qbPfhUE5n.png 800w" sizes="(min-width: 720px) 720px" width="800" height="160" loading="lazy"></figure><p>Antes de consertarmos, vamos escrever um teste que satisfaça essa regra.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/VZqkwBqS14vzxKBcMWdtHPES1xo8XxK3ht3I.png" class="kg-image" alt="VZqkwBqS14vzxKBcMWdtHPES1xo8XxK3ht3I" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/VZqkwBqS14vzxKBcMWdtHPES1xo8XxK3ht3I.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/VZqkwBqS14vzxKBcMWdtHPES1xo8XxK3ht3I.png 800w" sizes="(min-width: 720px) 720px" width="800" height="175" loading="lazy"></figure><p>Escrevemos um novo teste que especificou que, se enviarmos um e-mail nulo, ele lançará uma <code>NullPointerException.</code></p><p>Vamos agora consertar o teste adicionando um e-mail à nossa requisição:</p><pre><code>createUserRequest.setEmail("testemail");</code></pre><p>Executando ambos os testes:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/hFTPEmxhpDT6WVsWc3VpeQ0Y9XOGwBdwr05u.png" class="kg-image" alt="hFTPEmxhpDT6WVsWc3VpeQ0Y9XOGwBdwr05u" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/hFTPEmxhpDT6WVsWc3VpeQ0Y9XOGwBdwr05u.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/hFTPEmxhpDT6WVsWc3VpeQ0Y9XOGwBdwr05u.png 800w" sizes="(min-width: 720px) 720px" width="800" height="102" loading="lazy"></figure><h3 id="como-testamos-nossos-reposit-rios"><strong>Como testamos nossos repositórios?</strong></h3><p>Agora, vamos testar nossos repositórios. Vamos usar um banco de dados h2 em memória com <code>TestEntityManager</code>.</p><p>Nosso repositório é definido assim:</p><pre><code>@Repositorypublic interface UserRepository extends JpaRepository&lt;User, Integer&gt;, JpaSpecificationExecutor&lt;User&gt; {    Optional&lt;User&gt; findById(UUID id);}</code></pre><p>Primeiro, configuramos o h2db. Criamos um arquivo chamado <em>application.yaml</em> em <em>test -&gt; resource</em>s:</p><pre><code>spring:  application:    name: Spring Boot Rest API  datasource:    type: com.zaxxer.hikari.HikariDataSource    url: "jdbc:h2:mem:test-api;INIT=CREATE SCHEMA IF NOT EXISTS dbo\\;CREATE SCHEMA IF NOT EXISTS definitions;DATABASE_TO_UPPER=false;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=false;MODE=MSSQLServer"    name:    password:    username:    initialization-mode: never    hikari:      schema: dbo  jpa:    database: H2    database-platform: org.hibernate.dialect.H2Dialect    show-sql: true    hibernate:      ddl-auto: create-drop  test:    database:      replace: none</code></pre><p>Em seguida, escrevemos o primeiro teste básico para nosso repositório: salvar um usuário e recuperá-lo: </p><pre><code>@RunWith(SpringRunner.class)@DataJpaTestpublic class UserRepositoryTest {    @Autowired    TestEntityManager entityManager;    @Autowired    UserRepository sut;    @Test    public void it_should_save_user() {        User user = new User();        user.setName("test user");        user = entityManager.persistAndFlush(user);        assertThat(sut.findById(user.getId()).get()).isEqualTo(user);    }}</code></pre><p>Quando executamos veremos algumas saídas no console, e nosso teste também passa:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/ZvTQXeFLK6VNU5jrP7Xl61vbBwNi6wJMJnHR.png" class="kg-image" alt="ZvTQXeFLK6VNU5jrP7Xl61vbBwNi6wJMJnHR" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/ZvTQXeFLK6VNU5jrP7Xl61vbBwNi6wJMJnHR.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/ZvTQXeFLK6VNU5jrP7Xl61vbBwNi6wJMJnHR.png 800w" sizes="(min-width: 720px) 720px" width="800" height="203" loading="lazy"></figure><p>Agora, vamos adicionar outro método ao nosso repositório para buscar um usuário através do seu e-mail:</p><pre><code>Optional&lt;User&gt; findByEmail(String email);</code></pre><p>Escrevemos, por fim, outro teste:</p><pre><code>@Testpublic void it_should_find_user_byEmail() {    User user = new User();    user.setEmail("testmail@test.com");    user = entityManager.persistAndFlush(user);    assertThat(sut.findByEmail(user.getEmail()).get()).isEqualTo(user);}</code></pre><p>Quando damos uma olhada no console depois de executar o teste, vemos o SQL gerado pelo <em>hibernate</em>:</p><pre><code>SELECT user0_.id AS id1_1_,user0_.age AS age2_1_,user0_.email AS email3_1_,user0_.name AS name4_1_FROM user user0_WHERE user0_.email=?</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/817OJk5EOmr4TjTvg9Pcul7Ki6fdpNMqbYqP.png" class="kg-image" alt="817OJk5EOmr4TjTvg9Pcul7Ki6fdpNMqbYqP" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/817OJk5EOmr4TjTvg9Pcul7Ki6fdpNMqbYqP.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/817OJk5EOmr4TjTvg9Pcul7Ki6fdpNMqbYqP.png 800w" sizes="(min-width: 720px) 720px" width="800" height="210" loading="lazy"></figure><p>Até agora, tudo bem. Cobrimos o básico de testes unitários com o SpringBoot.</p><p>Agora, não temos mais desculpas para não escrever testes unitários! Espero que tenha sido claro para você como escrever testes unitários para cada tipo de propósito.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Como configurar a autenticação e a autorização no JWT para o Spring Boot em Java ]]>
                </title>
                <description>
                    <![CDATA[ Há pouco tempo, tive a chance de implementar a autorização em JWT para um projeto à parte. Trabalhei anterior com JWT em Ruby on Rails, mas essa foi a primeira vez com o Spring. Neste artigo, tentarei explicar o que aprendi e apliquei no meu projeto para compartilhar minha experiência ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/como-configurar-a-autenticacao-e-a-autorizacao-no-jwt-para-o-spring-boot-em-java/</link>
                <guid isPermaLink="false">621a18849838eb04fbdf169f</guid>
                
                    <category>
                        <![CDATA[ Spring Boot ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Daniel Rosa ]]>
                </dc:creator>
                <pubDate>Tue, 01 Mar 2022 17:22:33 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2022/02/jwt.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/how-to-setup-jwt-authorization-and-authentication-in-spring/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Set Up Java Spring Boot JWT Authorization and Authentication</a>
      </p><p>Há pouco tempo, tive a chance de implementar a autorização em JWT para um projeto à parte. Trabalhei anterior com JWT em Ruby on Rails, mas essa foi a primeira vez com o Spring.</p><p>Neste artigo, tentarei explicar o que aprendi e apliquei no meu projeto para compartilhar minha experiência e, espero, ajudar algumas pessoas.</p><p>Começaremos examinando rapidamente a teoria por trás do JWT e como ele funciona. Em seguida, veremos como implementá-lo em uma aplicação com Spring Boot.</p><h2 id="fundamentos-de-jwt"><strong>Fundamentos de <strong>JWT</strong></strong></h2><p>JWT, ou JSON Web Tokens (<a href="https://tools.ietf.org/html/rfc7519" rel="noopener">RFC 7519</a> - texto em inglês), é um padrão que, em grande parte, é usado para a segurança em APIs REST. Embora seja uma tecnologia relativamente nova, ela vem ganhando popularidade rapidamente.</p><p>No processo de autorização do JWT, o front-end (o client) primeiramente envia algumas credenciais para se autenticar (nome de usuário e senha, em nosso caso, já que estamos trabalhando com uma autenticação para a web).</p><p>O servidor (a aplicação com Spring, em nosso caso), em seguida, verifica essas credenciais. Se elas forem válidas, o servidor gera um JWT e o retorna.</p><p>Depois desse passo, o client precisa fornecer esse token no cabeçalho <strong><strong>Authorization</strong></strong> da solicitação, no formulário “Bearer TOKEN” (Token do portador). O back-end verificará a validade desse token e autorizará ou rejeitará as solicitações. O token também pode armazenar funções de usuário e autorizar as solicitações com base na autoridade fornecida.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/03/1.jpg" class="kg-image" alt="1" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/03/1.jpg 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/03/1.jpg 645w" width="645" height="428" loading="lazy"></figure><h2 id="implementa-o"><strong><strong>Implementa</strong>ção</strong></h2><p>Vamos ver agora como podemos implementar o login em JWT e o mecanismo de salvamento em uma aplicação em Spring real.</p><h3 id="depend-ncias"><strong><strong>Depend</strong>ências</strong></h3><p>Você pode ver abaixo uma lista das dependências do Maven que nosso código de exemplo usa. Observe que as dependências principais, como o Spring Boot e o Hibernate, ainda não estão incluídas nessa captura de tela.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/03/2-1.png" class="kg-image" alt="2-1" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/03/2-1.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/03/2-1.png 780w" sizes="(min-width: 720px) 720px" width="780" height="685" loading="lazy"></figure><h3 id="salvamento-de-usu-rios"><strong><strong>Sa</strong>lvamento de usuários</strong></h3><p>Começaremos criando os controllers para salvar os usuários com segurança e autenticá-los com base no nome e na senha.</p><p>Temos uma entidade modelo chamada User (Usuário). É uma classe de entidade simples que mapeiam para a tabela <strong><strong>USER</strong></strong>. Você pode usar as propriedades que quiser e necessitar, dependendo de sua aplicação.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/03/3-1.png" class="kg-image" alt="3-1" width="580" height="487" loading="lazy"></figure><p>Também temos uma classe <strong><strong>UserRepository</strong></strong> (Repositório de usuários) simples para salvar os usuários. Precisamos sobrescrever o método <strong><strong>findByUsername </strong>(</strong>encontrar por nome de usuário), já que vamos usá-lo na autenticação.</p><pre><code class="language-java">public interface UserRepository extends JpaRepository&lt;User, String&gt;{ 
    User findByUsername(String username); 
}</code></pre><p>Jamais devemos armazenar senhas em texto simples no banco de dados, pois muitos usuários costumam usar a mesma senha para vários sites.</p><p>Existem muitos algoritmos de <a href="https://pt.wikipedia.org/wiki/Fun%C3%A7%C3%A3o_hash_criptogr%C3%A1fica">hashing</a> diferentes. O mais comumente utilizado é o <strong><strong>BCrypt</strong></strong>, sendo recomendado para um hashing seguro. Confira <a href="https://security.blogoverflow.com/2013/09/about-secure-password-hashing/#:~:text=Passwords%20should%20be%20hashed%20with,providing%20most%20security%20is%20bcrypt." rel="noopener">este artigo</a> (em inglês) para obter mais informações sobre o tópico.</p><p>Para fazer o hashing de uma senha, definiremos um bean do <strong><strong>BCrypt</strong></strong> em <strong><strong>@SpringBootApplication</strong></strong> e faremos a anotação da classe principal, como vemos abaixo:</p><pre><code class="language-java">@Bean public BCryptPasswordEncoder bCryptPasswordEncoder() {
    return new BCryptPasswordEncoder(); 
}</code></pre><p>Chamaremos os métodos nesse bean quando precisarmos fazer o hashing de uma senha.</p><p>Também precisaremos de um UserController para salvar os usuários. Criamos o controller, fazemos a anotação com <strong><strong>@RestController</strong></strong> e definimos o mapeamento correspondente.</p><p>Em nossa aplicação, salvamos o usuário com base em um objeto DTO passado para o front-end. Também é possível passar um objeto User em <strong><strong>@RequestBody</strong></strong>.</p><p>Depois de passarmos o objeto DTO, criptografamos o campo da senha usando o bean do <strong><strong>BCrypt</strong></strong> que criamos anteriormente. Também é possível fazer isso no controller, mas é uma prática recomendada colocar essa lógica na classe do serviço.</p><pre><code class="language-java">@Transactional(rollbackFor = Exception.class) 
public String saveDto(UserDto userDto) { 
    userDto.setPassword(bCryptPasswordEncoder
           .encode(userDto.getPassword())); 
    return save(new User(userDto)).getId(); 
}</code></pre><h3 id="filtro-de-autentica-o"><strong>Filtro de autenticação</strong></h3><p>Precisamos da autenticação para garantir que o usuário seja realmente quem ele diz que é. Usaremos o par clássico de nome de usuário/senha para realizar isso.</p><p>Estes são os passos para implementar a autenticação:</p><ol><li>Criar nosso Authentication Filter (filtro de autenticação), que é uma extensão de <strong><strong>UsernamePasswordAuthenticationFilter</strong></strong></li><li>Criar uma classe de configuração de segurança, que é uma extensão de <strong><strong>WebSecurityConfigurerAdapter </strong></strong>e aplicar o filtro</li></ol><p>Este é o código para o nosso Authentication Filter – como você já deve saber, os filtros são a base do Spring Security.</p><!--kg-card-begin: html--><table class="highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file" data-tab-size="8" data-paste-markdown-skip="" data-tagsearch-lang="Java" data-tagsearch-path="JWTAuthenticationFilter.java" style="box-sizing: inherit; border: 0px; margin: 0px; padding: 0px; font-style: inherit; font-variant: inherit; font-weight: 400; font-stretch: inherit; line-height: 1.4; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; border-spacing: 0px; border-collapse: collapse; display: inline-block; overflow-x: auto; max-width: 100%; width: auto; white-space: nowrap; background: var(--darkreader-bg--color-canvas-default); color: rgb(200, 195, 188);"><tbody style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L1" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="1" style="box-sizing: inherit; margin: 0px; padding-top: 4px; padding-right: 10px !important; padding-bottom: 1px !important; padding-left: 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC1" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding-top: 4px; padding-right: 10px !important; padding-bottom: 1px !important; padding-left: 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);"><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">public</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">class</span> <span class="pl-en" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(125, 84, 199);">JWTAuthenticationFilter</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">extends</span> <span class="pl-e" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(125, 84, 199);">UsernamePasswordAuthenticationFilter</span> {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L2" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="2" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC2" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L3" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="3" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC3" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">private</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">AuthenticationManager</span> authenticationManager;</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L4" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="4" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC4" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L5" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="5" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC5" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">public</span> <span class="pl-en" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(125, 84, 199);">JWTAuthenticationFilter</span>(<span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">AuthenticationManager</span> <span class="pl-v" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(247, 129, 47);">authenticationManager</span>) {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L6" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="6" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC6" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">this</span><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>authenticationManager <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">=</span> authenticationManager;</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L7" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="7" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC7" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L8" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="8" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC8" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        setFilterProcessesUrl(<span class="pl-s" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);"><span class="pl-pds" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);">"</span>/api/services/controller/user/login<span class="pl-pds" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);">"</span></span>); </td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L9" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="9" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC9" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    }</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L10" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="10" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC10" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L11" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="11" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC11" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">@Override</span></td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L12" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="12" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC12" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">public</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">Authentication</span> <span class="pl-en" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(125, 84, 199);">attemptAuthentication</span>(<span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">HttpServletRequest</span> <span class="pl-v" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(247, 129, 47);">req</span>,</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L13" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="13" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC13" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                                                <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">HttpServletResponse</span> <span class="pl-v" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(247, 129, 47);">res</span>) <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">throws</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">AuthenticationException</span> {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L14" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="14" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC14" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">try</span> {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L15" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="15" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC15" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">            <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">User</span> creds <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">=</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">new</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">ObjectMapper</span>()</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L16" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="16" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC16" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                    .readValue(req<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>getInputStream(), <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">User</span><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>class);</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L17" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="17" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC17" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L18" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="18" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC18" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">            <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">return</span> authenticationManager<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>authenticate(</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L19" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="19" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC19" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">new</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">UsernamePasswordAuthenticationToken</span>(</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L20" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="20" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC20" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                            creds<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>getUsername(),</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L21" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="21" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC21" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                            creds<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>getPassword(),</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L22" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="22" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC22" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                            <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">new</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">ArrayList&lt;&gt;</span>())</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L23" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="23" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC23" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">            );</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L24" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="24" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC24" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        } <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">catch</span> (<span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">IOException</span> e) {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L25" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="25" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC25" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">            <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">throw</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">new</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">RuntimeException</span>(e);</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L26" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="26" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC26" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        }</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L27" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="27" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC27" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    }</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L28" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="28" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC28" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L29" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="29" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC29" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">@Override</span></td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L30" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="30" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC30" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">protected</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">void</span> <span class="pl-en" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(125, 84, 199);">successfulAuthentication</span>(<span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">HttpServletRequest</span> <span class="pl-v" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(247, 129, 47);">req</span>,</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L31" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="31" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC31" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                                            <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">HttpServletResponse</span> <span class="pl-v" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(247, 129, 47);">res</span>,</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L32" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="32" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC32" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                                            <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">FilterChain</span> <span class="pl-v" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(247, 129, 47);">chain</span>,</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L33" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="33" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC33" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                                            <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">Authentication</span> <span class="pl-v" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(247, 129, 47);">auth</span>) <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">throws</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">IOException</span> {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L34" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="34" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC34" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">String</span> token <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">=</span> <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">JWT</span><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>create()</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L35" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="35" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC35" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                .withSubject(((<span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">User</span>) auth<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>getPrincipal())<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>getUsername())</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L36" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="36" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC36" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                .withExpiresAt(<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">new</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">Date</span>(<span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">System</span><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>currentTimeMillis() <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">+</span> <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">EXPIRATION_TIME</span>))</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L37" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="37" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC37" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                .sign(<span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">Algorithm</span><span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);"><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>HMAC512</span>(<span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">SECRET</span><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>getBytes()));</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L38" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="38" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC38" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L39" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="39" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC39" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">String</span> body <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">=</span> ((<span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">User</span>) auth<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>getPrincipal())<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>getUsername() <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">+</span> <span class="pl-s" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);"><span class="pl-pds" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);">"</span> <span class="pl-pds" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);">"</span></span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">+</span> token;</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L40" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="40" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC40" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L41" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="41" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC41" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        res<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>getWriter()<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>write(body);</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L42" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="42" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC42" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        res<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>getWriter()<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>flush();</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthenticationfilter-java-L43" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="43" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC43" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    }</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthenticationfilter-java-L44" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="44" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthenticationfilter-java-LC44" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">}</td></tr></tbody></table><!--kg-card-end: html--><p><a href="https://gist.github.com/yigiterinc/74e24d263cc403a9057cf046d514860a/raw/8d45fa42cb223fc7607d749c4388baeb24da4913/JWTAuthenticationFilter.java">Ver o </a><a href="https://gist.github.com/yigiterinc/74e24d263cc403a9057cf046d514860a#file-jwtauthenticationfilter-java">JWTAuthenticationFilter.java</a>, hospedado com ❤ pelo <a href="https://github.com/">GitHub</a></p><p>Vamos analisar esse código passo a passo.</p><p>Essa classe é a extensão de <strong><strong>UsernamePasswordAuthenticationFilter</strong></strong>,<strong><strong> </strong></strong>que é a classe padrão para a autenticação de senha no Spring Security. Estendemos essa classe para definir nossa lógica de autenticação personalizada.</p><p>Fazemos uma chamada para o método <strong><strong>setFilterProcessesUrl</strong></strong> em nosso construtor. Esse método define o URL de login padrão para o parâmetro fornecido.</p><p>Se removermos essa linha, o Spring Security cria o endpoint <strong>"<strong>/login</strong>"</strong> por padrão. Ele define o endpoint de login por nós, motivo pelo qual não definimos um endpoint de login em nosso controller explicitamente.</p><p>Depois dessa linha, nosso endpoint de login será <strong><strong>/api/services/controller/user/login</strong></strong>. Você pode usar essa função para se manter consistente com seus endpoints.</p><p>Sobrescrevemos os métodos <strong><strong>attemptAuthentication</strong></strong> e<strong><strong>successfulAuthentication</strong></strong> da classe <strong><strong>UsernameAuthenticationFilter</strong></strong>.</p><p>A função <strong><strong>attemptAuthentication </strong></strong>é executada quando o usuário tentar fazer o login em nossa aplicação. Ela lê as credenciais, cria um POJO de usuário para eles e verifica as credenciais para a autenticação.</p><p>Passamos o nome de usuário, a senha e uma lista vazia. A lista vazia representa as autoridades (funções) e a deixamos assim, já que ainda não temos funções em nossa aplicação.</p><p>Se a autenticação tiver sucesso, o método <strong><strong>successfulAuthentication</strong></strong> é executado. Os parâmetros desse método são passados pelo Spring Security internamente.</p><p>O método <strong><strong>attemptAuthentication</strong></strong> retorna um objeto <strong><strong>Authentication</strong></strong> que contém as autoridades que passamos ao tentar.</p><p>Queremos retornar um token para o usuário após o sucesso da autenticação, por isso criamos o &nbsp;token usando o nome do usuário, o segredo (secret, em inglês) e a data de validade (expiration date, em inglês). Precisamos definir <strong><strong>SECRET</strong></strong> e <strong><strong>EXPIRATION_DATE</strong></strong> agora.</p><!--kg-card-begin: html--><table class="highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file" data-tab-size="8" data-paste-markdown-skip="" data-tagsearch-lang="Java" data-tagsearch-path="SecurityConstants.java" style="box-sizing: inherit; border: 0px; margin: 0px; padding: 0px; font-style: inherit; font-variant: inherit; font-weight: 400; font-stretch: inherit; line-height: 1.4; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; border-spacing: 0px; border-collapse: collapse; display: inline-block; overflow-x: auto; max-width: 100%; width: auto; white-space: nowrap; background: var(--darkreader-bg--color-canvas-default); color: rgb(200, 195, 188);"><tbody style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-securityconstants-java-L1" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="1" style="box-sizing: inherit; margin: 0px; padding-top: 4px; padding-right: 10px !important; padding-bottom: 1px !important; padding-left: 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 27.6094px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-securityconstants-java-LC1" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding-top: 4px; padding-right: 10px !important; padding-bottom: 1px !important; padding-left: 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);"><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">public</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">class</span> <span class="pl-en" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(125, 84, 199);">SecurityConstants</span> {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-securityconstants-java-L2" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="2" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 27.6094px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-securityconstants-java-LC2" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-securityconstants-java-L3" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="3" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 27.6094px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-securityconstants-java-LC3" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">  <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">public</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">static</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">final</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">String</span> <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">SECRET</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">=</span> <span class="pl-s" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);"><span class="pl-pds" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);">"</span>SECRET_KEY<span class="pl-pds" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);">"</span></span>;</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-securityconstants-java-L4" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="4" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 27.6094px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-securityconstants-java-LC4" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">  <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">public</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">static</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">final</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">long</span> <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">EXPIRATION_TIME</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">=</span> <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">900_000</span>; <span class="pl-c" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(159, 151, 138);"><span class="pl-c" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(159, 151, 138);">//</span> 15 mins</span></td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-securityconstants-java-L5" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="5" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 27.6094px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-securityconstants-java-LC5" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">  <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">public</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">static</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">final</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">String</span> <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">TOKEN_PREFIX</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">=</span> <span class="pl-s" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);"><span class="pl-pds" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);">"</span>Bearer <span class="pl-pds" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);">"</span></span>;</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-securityconstants-java-L6" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="6" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 27.6094px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-securityconstants-java-LC6" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">  <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">public</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">static</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">final</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">String</span> <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">HEADER_STRING</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">=</span> <span class="pl-s" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);"><span class="pl-pds" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);">"</span>Authorization<span class="pl-pds" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);">"</span></span>;</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-securityconstants-java-L7" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="7" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 27.6094px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-securityconstants-java-LC7" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">  <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">public</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">static</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">final</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">String</span> <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">SIGN_UP_URL</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">=</span> <span class="pl-s" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);"><span class="pl-pds" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);">"</span>/api/services/controller/user<span class="pl-pds" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);">"</span></span>;</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-securityconstants-java-L8" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="8" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 27.6094px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-securityconstants-java-LC8" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">}</td></tr></tbody></table><!--kg-card-end: html--><p><a href="https://gist.github.com/yigiterinc/9c612aaeb05234f4b89caf4204942a1e#file-securityconstants-java">Ver o SecurityConstants.java</a>, hospedado com ❤ pelo <a href="https://github.com/">GitHub</a></p><p>Criamos uma classe para que ela seja um contêiner para as nossas constantes. Você pode definir o segredo de modo que ele seja o que você quiser, mas a prática recomendada é tornar a chave do segredo tão grande quanto o seu hash. Usamos o algoritmo <strong><strong>HS256</strong></strong> neste exemplo. Por isso, nosso chave de segredo é de 256 bits/32 caracteres.</p><p>O tempo de validade é definido como sendo de 15 minutos, pois é a prática recomendada contra ataques de força bruta contra a chave do segredo. O tempo é em milissegundos.</p><p>Preparamos nosso filtro de autenticação, mas ele ainda não está ativo. Também precisamos de um filtro de autorização. Em seguida, aplicaremos os dois por meio de uma classe de configuração.</p><p>Este filtro verificará a existência e a validade do token de acesso no cabeçalho Authorization. Especificaremos quais endpoints estarão sujeitos a esse filtro em nossa classe de configuração.</p><h3 id="filtro-de-autoriza-o"><strong>Filtro de autorização</strong></h3><!--kg-card-begin: html--><table class="highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file" data-tab-size="8" data-paste-markdown-skip="" data-tagsearch-lang="Java" data-tagsearch-path="JWTAuthorizationFilter.java" style="box-sizing: inherit; border: 0px; margin: 0px; padding: 0px; font-style: inherit; font-variant: inherit; font-weight: 400; font-stretch: inherit; line-height: 1.4; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; border-spacing: 0px; border-collapse: collapse; display: inline-block; overflow-x: auto; max-width: 100%; width: auto; white-space: nowrap; background: var(--darkreader-bg--color-canvas-default); color: rgb(200, 195, 188);"><tbody style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L1" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="1" style="box-sizing: inherit; margin: 0px; padding-top: 4px; padding-right: 10px !important; padding-bottom: 1px !important; padding-left: 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC1" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding-top: 4px; padding-right: 10px !important; padding-bottom: 1px !important; padding-left: 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);"><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">public</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">class</span> <span class="pl-en" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(125, 84, 199);">JWTAuthorizationFilter</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">extends</span> <span class="pl-e" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(125, 84, 199);">BasicAuthenticationFilter</span> {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L2" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="2" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC2" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L3" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="3" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC3" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">public</span> <span class="pl-en" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(125, 84, 199);">JWTAuthorizationFilter</span>(<span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">AuthenticationManager</span> <span class="pl-v" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(247, 129, 47);">authManager</span>) {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L4" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="4" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC4" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">super</span>(authManager);</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L5" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="5" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC5" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    }</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L6" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="6" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC6" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L7" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="7" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC7" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">@Override</span></td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L8" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="8" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC8" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">protected</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">void</span> <span class="pl-en" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(125, 84, 199);">doFilterInternal</span>(<span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">HttpServletRequest</span> <span class="pl-v" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(247, 129, 47);">req</span>,</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L9" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="9" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC9" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                                    <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">HttpServletResponse</span> <span class="pl-v" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(247, 129, 47);">res</span>,</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L10" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="10" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC10" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                                    <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">FilterChain</span> <span class="pl-v" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(247, 129, 47);">chain</span>) <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">throws</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">IOException</span>, <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">ServletException</span> {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L11" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="11" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC11" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">String</span> header <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">=</span> req<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>getHeader(<span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">HEADER_STRING</span>);</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L12" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="12" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC12" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L13" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="13" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC13" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">if</span> (header <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">==</span> <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">null</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">||</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">!</span>header<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>startsWith(<span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">TOKEN_PREFIX</span>)) {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L14" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="14" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC14" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">            chain<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>doFilter(req, res);</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L15" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="15" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC15" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">            <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">return</span>;</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L16" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="16" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC16" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        }</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L17" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="17" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC17" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L18" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="18" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC18" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">UsernamePasswordAuthenticationToken</span> authentication <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">=</span> getAuthentication(req);</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L19" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="19" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC19" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L20" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="20" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC20" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">SecurityContextHolder</span><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>getContext()<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>setAuthentication(authentication);</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L21" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="21" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC21" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        chain<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>doFilter(req, res);</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L22" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="22" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC22" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    }</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L23" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="23" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC23" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L24" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="24" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC24" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-c" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(159, 151, 138);"><span class="pl-c" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(159, 151, 138);">//</span> Reads the JWT from the Authorization header, and then uses JWT to validate the token</span></td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L25" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="25" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC25" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">private</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">UsernamePasswordAuthenticationToken</span> <span class="pl-en" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(125, 84, 199);">getAuthentication</span>(<span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">HttpServletRequest</span> <span class="pl-v" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(247, 129, 47);">request</span>) {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L26" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="26" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC26" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">String</span> token <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">=</span> request<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>getHeader(<span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">HEADER_STRING</span>);</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L27" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="27" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC27" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L28" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="28" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC28" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">if</span> (token <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">!=</span> <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">null</span>) {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L29" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="29" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC29" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">            <span class="pl-c" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(159, 151, 138);"><span class="pl-c" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(159, 151, 138);">//</span> parse the token.</span></td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L30" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="30" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC30" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">            <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">String</span> user <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">=</span> <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">JWT</span><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>require(<span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">Algorithm</span><span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);"><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>HMAC512</span>(<span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">SECRET</span><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>getBytes()))</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L31" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="31" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC31" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                    .build()</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L32" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="32" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC32" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                    .verify(token<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>replace(<span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">TOKEN_PREFIX</span>, <span class="pl-s" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);"><span class="pl-pds" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);">"</span><span class="pl-pds" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);">"</span></span>))</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L33" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="33" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC33" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                    .getSubject();</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L34" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="34" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC34" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L35" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="35" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC35" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">            <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">if</span> (user <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">!=</span> <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">null</span>) {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L36" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="36" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC36" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                <span class="pl-c" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(159, 151, 138);"><span class="pl-c" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(159, 151, 138);">//</span> new arraylist means authorities</span></td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L37" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="37" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC37" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">return</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">new</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">UsernamePasswordAuthenticationToken</span>(user, <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">null</span>, <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">new</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">ArrayList&lt;&gt;</span>());</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L38" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="38" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC38" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">            }</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L39" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="39" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC39" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L40" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="40" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC40" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">            <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">return</span> <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">null</span>;</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L41" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="41" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC41" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        }</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L42" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="42" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC42" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-jwtauthorizationfilter-java-L43" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="43" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC43" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">return</span> <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">null</span>;</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-jwtauthorizationfilter-java-L44" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="44" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-jwtauthorizationfilter-java-LC44" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    }</td></tr></tbody></table><!--kg-card-end: html--><p><a href="https://gist.github.com/yigiterinc/353558bb33a0d4bfb37c054bf3ef2abf#file-jwtauthorizationfilter-java">Ver o JWTAuthorizationFilter.java</a>, hospedado com ❤ pelo <a href="https://github.com/">GitHub</a></p><p>O método <strong><strong>doFilterInternal</strong></strong> intercepta as solicitações e verifica o cabeçalho Authorization. Se o cabeçalho não estiver presente ou não iniciar com "BEARER" (portador), ele segue com a cadeia de filtros.</p><p>Se o cabeçalhos estiver presente, o método <strong><strong>getAuthentication</strong></strong> é invocado. <strong><strong>getAuthentication</strong></strong> verifica o JWT e, se o token for válido, ele retorna um token de acesso que o Spring usará internamente.</p><p>Este novo token, então, é salve em SecurityContext (contexto de segurança). Você também pode passar Authorities por esse token se precisar de autorização baseada em funções.</p><p>Nossos filtros estão prontos. Agora, precisamos colocá-los em ação com a ajuda de uma classe de configuração.</p><h3 id="configura-o"><strong><strong>Configura</strong>ção</strong></h3><!--kg-card-begin: html--><table class="highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file" data-tab-size="8" data-paste-markdown-skip="" data-tagsearch-lang="Java" data-tagsearch-path="WebSecurity.java" style="box-sizing: inherit; border: 0px; margin: 0px; padding: 0px; font-style: inherit; font-variant: inherit; font-weight: 400; font-stretch: inherit; line-height: 1.4; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; border-spacing: 0px; border-collapse: collapse; display: inline-block; overflow-x: auto; max-width: 100%; width: auto; white-space: nowrap; background: var(--darkreader-bg--color-canvas-default); color: rgb(200, 195, 188);"><tbody style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L1" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="1" style="box-sizing: inherit; margin: 0px; padding-top: 4px; padding-right: 10px !important; padding-bottom: 1px !important; padding-left: 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC1" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding-top: 4px; padding-right: 10px !important; padding-bottom: 1px !important; padding-left: 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);"><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">@EnableWebSecurity</span></td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L2" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="2" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC2" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);"><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">public</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">class</span> <span class="pl-en" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(125, 84, 199);">WebSecurity</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">extends</span> <span class="pl-e" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(125, 84, 199);">WebSecurityConfigurerAdapter</span> {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L3" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="3" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC3" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L4" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="4" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC4" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">private</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">UserDetailsServiceImpl</span> userDetailsService;</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L5" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="5" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC5" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">private</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">BCryptPasswordEncoder</span> bCryptPasswordEncoder;</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L6" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="6" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC6" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L7" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="7" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC7" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">public</span> <span class="pl-en" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(125, 84, 199);">WebSecurity</span>(<span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">UserDetailsServiceImpl</span> <span class="pl-v" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(247, 129, 47);">userService</span>, <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">BCryptPasswordEncoder</span> <span class="pl-v" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(247, 129, 47);">bCryptPasswordEncoder</span>) {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L8" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="8" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC8" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">this</span><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>userDetailsService <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">=</span> userService;</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L9" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="9" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC9" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">this</span><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>bCryptPasswordEncoder <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">=</span> bCryptPasswordEncoder;</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L10" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="10" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC10" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    }</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L11" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="11" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC11" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L12" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="12" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC12" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">@Override</span></td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L13" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="13" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC13" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">protected</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">void</span> <span class="pl-en" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(125, 84, 199);">configure</span>(<span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">HttpSecurity</span> <span class="pl-v" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(247, 129, 47);">http</span>) <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">throws</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">Exception</span> {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L14" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="14" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC14" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        http<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>cors()<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>and()<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>authorizeRequests()</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L15" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="15" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC15" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                .antMatchers(<span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">HttpMethod</span><span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);"><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>POST</span>, <span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);">SIGN_UP_URL</span>)<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>permitAll()</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L16" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="16" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC16" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                .anyRequest()<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>authenticated()</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L17" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="17" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC17" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                .and()</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L18" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="18" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC18" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                .addFilter(<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">new</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">JWTAuthenticationFilter</span>(authenticationManager()))</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L19" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="19" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC19" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                .addFilter(<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">new</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">JWTAuthorizationFilter</span>(authenticationManager()))</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L20" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="20" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC20" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                <span class="pl-c" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(159, 151, 138);"><span class="pl-c" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(159, 151, 138);">//</span> this disables session creation on Spring Security</span></td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L21" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="21" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC21" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">                .sessionManagement()<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>sessionCreationPolicy(<span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">SessionCreationPolicy</span><span class="pl-c1" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(86, 177, 255);"><span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>STATELESS</span>);</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L22" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="22" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC22" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    }</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L23" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="23" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC23" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L24" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="24" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC24" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">@Override</span></td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L25" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="25" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC25" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">public</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">void</span> <span class="pl-en" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(125, 84, 199);">configure</span>(<span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">AuthenticationManagerBuilder</span> <span class="pl-v" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(247, 129, 47);">auth</span>) <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">throws</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">Exception</span> {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L26" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="26" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC26" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        auth<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>userDetailsService(userDetailsService)<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>passwordEncoder(bCryptPasswordEncoder);</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L27" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="27" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC27" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    }</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L28" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="28" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC28" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L29" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="29" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC29" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">@Bean</span></td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L30" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="30" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC30" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">CorsConfigurationSource</span> <span class="pl-en" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(125, 84, 199);">corsConfigurationSource</span>() {</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L31" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="31" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC31" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">final</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">UrlBasedCorsConfigurationSource</span> source <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">=</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">new</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">UrlBasedCorsConfigurationSource</span>();</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L32" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="32" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC32" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L33" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="33" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC33" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">CorsConfiguration</span> corsConfiguration <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">=</span> <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">new</span> <span class="pl-smi" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(206, 202, 195);">CorsConfiguration</span>()<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>applyPermitDefaultValues();</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L34" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="34" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC34" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        source<span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">.</span>registerCorsConfiguration(<span class="pl-s" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);"><span class="pl-pds" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);">"</span>/**<span class="pl-pds" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(200, 195, 188);">"</span></span>, corsConfiguration);</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L35" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="35" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC35" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">
</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L36" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="36" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC36" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">        <span class="pl-k" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; color: rgb(218, 75, 88);">return</span> source;</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline;"><td id="file-websecurity-java-L37" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="37" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC37" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">    }</td></tr><tr style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 12px; vertical-align: baseline; background-color: transparent;"><td id="file-websecurity-java-L38" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="38" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: var(--darkreader-border--gray10) 1px solid; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; width: 34.2031px; min-width: inherit; color: var(--darkreader-text--color-fg-subtle); text-align: right; white-space: nowrap; cursor: pointer; user-select: none; background: linear-gradient(to right, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 0% 0% / 20px 100% no-repeat rgba(0, 0, 0, 0);"></td><td id="file-websecurity-java-LC38" class="blob-code blob-code-inner js-file-line" style="box-sizing: inherit; margin: 0px; padding: 1px 10px !important; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-family: ui-monospace, SFMono-Regular, &quot;SF Mono&quot;, Menlo, Consolas, &quot;Liberation Mono&quot;, monospace; font-size: 12px; vertical-align: top; position: relative; overflow: visible; color: var(--darkreader-text--color-fg-default); overflow-wrap: normal; white-space: pre; text-align: left; background: linear-gradient(to left, rgb(24, 26, 27) 50%, rgba(24, 26, 27, 0) 100%) 100% 0px / 20px 100% no-repeat rgba(0, 0, 0, 0);">}</td></tr></tbody></table><!--kg-card-end: html--><p><a href="https://gist.github.com/yigiterinc/5aed60bcf1c53b34ed6b6e887158bbc0#file-websecurity-java">Ver o WebSecurity.java</a>, hospedado com ❤ pelo <a href="https://github.com/">GitHub</a></p><p>Anotamos essa classe com <strong><strong>@EnableWebSecurity</strong></strong> e estendemos <strong><strong>WebSecurityConfigureAdapter </strong></strong>para que implemente nossa lógica de segurança personalizada.</p><p>Ativamos automaticamente (auto-wire) o bean do BCrypt que definimos anteriormente. Também ativamos automaticamente <strong><strong>UserDetailsService </strong></strong>para que encontre a conta do usuário.</p><p>O método mais importante é aquele que aceita um objeto <strong><strong>HttpSecurity</strong></strong>. Aqui, especificamos os endpoints e filtros seguros que queremos aplicar. Configuramos o CORS e, em seguida, permitimos todas as solicitações de post ao nosso URL de entrada, que definimos na classe das constantes.</p><p>É possível adicionar outros <em>ant matchers</em> para filtrar com base em padrões de URL e funções. Você pode conferir <a href="https://stackoverflow.com/questions/44067650/spring-security-role-based-access">esta pergunta do StackOverflow</a> (em inglês) para ver exemplos relacionados a isso. O outro método configura o <strong><strong>AuthenticationManager</strong></strong> (gerenciador de autenticação) para que use nosso objeto de codificação (encoder) como seu codificador de senhas enquanto verifica as credenciais.</p><h3 id="testes"><strong><strong>Test</strong>es</strong></h3><p>Vamos enviar algumas solicitações para testar se está funcionando corretamente.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/03/4.png" class="kg-image" alt="4" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/03/4.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/03/4.png 780w" sizes="(min-width: 720px) 720px" width="780" height="334" loading="lazy"></figure><p>Aqui, enviamos uma solicitação GET para acessar um recurso protegido. Nosso servidor responde com um código 403. Esse é o comportamento esperado, pois não fornecemos um token no cabeçalho. Vamos, agora, criar um usuário:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/03/5.png" class="kg-image" alt="5" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/03/5.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/03/5.png 780w" sizes="(min-width: 720px) 720px" width="780" height="450" loading="lazy"></figure><p>Para criar um usuário, enviamos uma solicitação de post com nossos dados do User DTO. Com esse usuário, faremos o login e obteremos um token de acesso.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/03/6.png" class="kg-image" alt="6" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/03/6.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/03/6.png 780w" sizes="(min-width: 720px) 720px" width="780" height="444" loading="lazy"></figure><p>Ótimo! Temos o token. Depois disso, usaremos esse token para acessar os recursos protegidos.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/03/7.png" class="kg-image" alt="7" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/03/7.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/03/7.png 780w" sizes="(min-width: 720px) 720px" width="780" height="273" loading="lazy"></figure><p>Fornecemos o token no cabeçalho Authorization e agora temos permissão de acesso ao nosso endpoint protegido.</p><h2 id="conclus-o"><strong><strong>Conclus</strong>ão</strong></h2><p>Neste tutorial, examinamos passo a passo a implementação da autenticação de senha e da autorização com o JWT no Spring. Também aprendemos como salvar um usuário com segurança.</p><p>Obrigado pela leitura – espero que tenha sido útil para você. Se estiver interessado em ler mais conteúdo a respeito do assunto, fique à vontade para se inscrever no blog do autor: <a href="https://erinc.io/" rel="noopener">https://erinc.io</a> (em inglês). 🙂</p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
