added landing page to client properties

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2024-09-17 11:33:13 +02:00
parent bb5d507a13
commit 2250a78e91
13 changed files with 93 additions and 41 deletions

View File

@@ -29,6 +29,7 @@ public class Constants {
public static final String INVALID_REQUEST = "invalid_request";
public static final String INVALID_REQUEST_OBJECT = "invalid_request_object";
public static final String INVALID_SCOPE = "invalid_scope";
public static final String LANDING_PAGE = "landing_page";
public static final String MAILCONFIG = "mail_config";
public static final String NAME = "name";
public static final String NONCE = "nonce";

View File

@@ -3,16 +3,21 @@ package de.srsoftware.oidc.api.data;
import static de.srsoftware.oidc.api.Constants.*;
import static de.srsoftware.utils.Optionals.nullable;
import java.util.*;
public final class Client {
private static System.Logger LOG = System.getLogger(Client.class.getSimpleName());
private final String id, name, secret;
private final String id;
private String landingPage;
private final String name;
private final String secret;
private final Set<String> redirectUris;
public Client(String id, String name, String secret, Set<String> redirectUris) {
this.id = id;
landingPage = null;
this.name = name;
this.secret = secret;
this.redirectUris = redirectUris;
@@ -22,8 +27,23 @@ public final class Client {
return id;
}
public String landingPage() {
return landingPage;
}
public Client landingPage(String newVal) {
landingPage = newVal;
return this;
}
public Map<String, Object> map() {
return Map.of(CLIENT_ID, id, NAME, name, SECRET, secret, REDIRECT_URIS, redirectUris);
var map = new HashMap<String, Object>();
map.put(CLIENT_ID, id);
map.put(NAME, name);
map.put(SECRET, secret);
nullable(redirectUris).ifPresent(uris -> map.put(REDIRECT_URIS, uris));
nullable(landingPage).ifPresent(lp -> map.put(LANDING_PAGE, lp));
return map;
}
@@ -57,6 +77,7 @@ public final class Client {
public String toString() {
return "Client["
+ "id=" + id + ", "
+ "landing_page=" + landingPage + ", "
+ "name=" + name + ", "
+ "secret=" + secret + ", "
+ "redirectUris=" + redirectUris + ']';

View File

@@ -22,7 +22,8 @@ public abstract class ClientServiceTest {
assertTrue(cs.listClients().isEmpty());
var clientId = uuid();
var clientSecret = uuid();
var client = new Client(clientId, NAME, clientSecret, Set.of(URI));
var landingPage = uuid();
var client = new Client(clientId, NAME, clientSecret, Set.of(URI)).landingPage(landingPage);
var list = cs.save(client).listClients();
assertEquals(1, list.size());
assertTrue(list.contains(client));
@@ -35,7 +36,8 @@ public abstract class ClientServiceTest {
var cs = clientService();
var clientId = uuid();
var clientSecret = uuid();
var client = new Client(clientId, NAME, clientSecret, Set.of(URI));
var landingPage = uuid();
var client = new Client(clientId, NAME, clientSecret, Set.of(URI)).landingPage(landingPage);
var optClient = cs.save(client).getClient(clientId);
assertTrue(optClient.isPresent());
assertEquals(client, optClient.get());
@@ -49,8 +51,10 @@ public abstract class ClientServiceTest {
var clientId = uuid();
var clientSecret = uuid();
var clientSecret2 = uuid();
var client1 = new Client(clientId, NAME, clientSecret, Set.of(URI));
var client2 = new Client(clientId, "test", clientSecret2, Set.of(URI2));
var landingPage1 = uuid();
var client1 = new Client(clientId, NAME, clientSecret, Set.of(URI)).landingPage(landingPage1);
var client2 = new Client(clientId, "test", clientSecret2, Set.of(URI2));
var optClient = cs.save(client1).getClient(clientId);
assertTrue(optClient.isPresent());