Skip to content

Instantly share code, notes, and snippets.

View jamilxt's full-sized avatar
✔️

jamilxt jamilxt

✔️
View GitHub Profile
@jamilxt
jamilxt / SecurityConfig.java
Created April 8, 2025 06:32
Configures security settings for a Spring Boot application using Spring Security. It includes custom filters, authentication providers, and defines security rules for both REST and web endpoints. The configuration supports JWT authentication and custom login/logout mechanisms.
package dev.jamilxt.backend.config;
import dev.jamilxt.backend.constant.SecurityConstant;
import dev.jamilxt.backend.security.CustomSignInSuccessHandler;
import dev.jamilxt.backend.security.CustomUserDetailsService;
import dev.jamilxt.backend.security.JwtAuthenticationFilter;
import dev.jamilxt.backend.security.MobileNumberAuthenticationProvider;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-- used in tests that use HSQL
create table oauth_client_details (
client_id VARCHAR(256) PRIMARY KEY,
resource_ids VARCHAR(256),
client_secret VARCHAR(256),
scope VARCHAR(256),
authorized_grant_types VARCHAR(256),
web_server_redirect_uri VARCHAR(256),
authorities VARCHAR(256),
access_token_validity INTEGER,
@jamilxt
jamilxt / App.java
Created September 28, 2022 21:13 — forked from thomasdarimont/App.java
Simple Spring Boot App protected by Keycloak with initial roles from Keycloak and additional hierarchical app Internal roles. Supports fine grained permission checks, where the permissions are derived from roles.
package demo;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
@jamilxt
jamilxt / gist:1c7508d446a72eddb8587e6636b3c518
Last active November 19, 2018 12:45
Copy Button Own Inner Text
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="btn" onclick="copyToClipboard('#btn')">Copy Me</button>
<script>
function copyToClipboard(element) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val($(element).text()).select();
subprojects {
project.configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion "26.1.0"
}
}
}
}