feat: add keycloak account creation and club groupe set

This commit is contained in:
2024-01-28 23:47:30 +01:00
parent d84ec9e1b4
commit 978c055834
22 changed files with 422 additions and 24 deletions

View File

@@ -19,6 +19,7 @@ import java.util.Date;
@RegisterForReflection
public class SimpleMembre {
private long id;
private String userId;
private String lname = "";
private String fname = "";
private Categorie categorie;
@@ -38,6 +39,7 @@ public class SimpleMembre {
return new SimpleMembreBuilder()
.id(model.getId())
.userId(model.getUserId())
.lname(model.getLname())
.fname(model.getFname())
.categorie(model.getCategorie())

View File

@@ -0,0 +1,38 @@
package fr.titionfire.ffsaf.rest.data;
import io.quarkus.runtime.annotations.RegisterForReflection;
import io.quarkus.security.identity.SecurityIdentity;
import lombok.Builder;
import lombok.Data;
import org.eclipse.microprofile.jwt.JsonWebToken;
import java.util.Set;
@Data
@Builder
@RegisterForReflection
public class UserInfo {
String id;
String name;
String givenName;
String familyName;
String email;
boolean emailVerified;
long expiration;
Set<String> groups;
Set<String> roles;
public static UserInfo makeUserInfo(JsonWebToken accessToken, SecurityIdentity securityIdentity) {
UserInfo.UserInfoBuilder builder = UserInfo.builder();
builder.id(accessToken.getSubject());
builder.name(accessToken.getName());
builder.givenName(accessToken.getClaim("given_name"));
builder.familyName(accessToken.getClaim("family_name"));
builder.email(accessToken.getClaim("email"));
builder.emailVerified(accessToken.getClaim("email_verified"));
builder.expiration(accessToken.getExpirationTime());
builder.groups(accessToken.getGroups());
builder.roles(securityIdentity.getRoles());
return builder.build();
}
}