working on client creation

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2024-07-22 19:55:22 +02:00
parent 59b9976dbf
commit 1c0ef0e257
20 changed files with 167 additions and 85 deletions

View File

@@ -1,3 +1,4 @@
/* © SRSoftware 2024 */
package de.srsoftware.oidc.api;
import java.util.Set;

View File

@@ -1,3 +1,4 @@
/* © SRSoftware 2024 */
package de.srsoftware.oidc.api;
import java.util.List;
@@ -5,8 +6,8 @@ import java.util.Optional;
public interface ClientService {
Optional<Client> getClient(String clientId);
ClientService add(Client client);
List<Client> listClients();
ClientService remove(Client client);
ClientService update(Client client);
ClientService add(Client client);
List<Client> listClients();
ClientService remove(Client client);
ClientService update(Client client);
}

View File

@@ -0,0 +1,8 @@
package de.srsoftware.oidc.api;
public class Constants {
public static final String CLIENT_ID = "client_id";
public static final String NAME = "name";
public static final String REDIRECT_URI = "redirect_uri";
public static final String SECRET = "secret";
}

View File

@@ -9,7 +9,6 @@ import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
@@ -115,7 +114,7 @@ public abstract class PathHandler implements HttpHandler {
}
public static boolean sendContent(HttpExchange ex, byte[] bytes) throws IOException {
return sendContent(ex,HTTP_OK,bytes);
return sendContent(ex, HTTP_OK, bytes);
}
public static boolean sendContent(HttpExchange ex, Object o) throws IOException {
@@ -124,10 +123,10 @@ public abstract class PathHandler implements HttpHandler {
}
public static boolean sendError(HttpExchange ex, byte[] bytes) throws IOException {
return sendContent(ex,HTTP_BAD_REQUEST,bytes);
return sendContent(ex, HTTP_BAD_REQUEST, bytes);
}
public static boolean sendError(HttpExchange ex, Object o) throws IOException {
return sendContent(ex,HTTP_BAD_REQUEST,o.toString().getBytes(UTF_8));
return sendContent(ex, HTTP_BAD_REQUEST, o.toString().getBytes(UTF_8));
}
}

View File

@@ -1,5 +1,4 @@
/* © SRSoftware 2024 */
package de.srsoftware.oidc.api;
public enum Permission {
MANAGE_CLIENTS
}
public enum Permission { MANAGE_CLIENTS }

View File

@@ -4,12 +4,12 @@ package de.srsoftware.oidc.api;
import java.util.*;
public final class User {
public static final String EMAIL = "email";
public static final String PASSWORD = "password";
public static final String EMAIL = "email";
public static final String PASSWORD = "password";
public static final String PERMISSIONS = "permissions";
public static final String REALNAME = "realname";
public static final String USERNAME = "username";
public static final String UUID = "uuid";
public static final String REALNAME = "realname";
public static final String USERNAME = "username";
public static final String UUID = "uuid";
private final Set<Permission> permissions = new HashSet<>();
@@ -45,7 +45,7 @@ public final class User {
return Objects.equals(this.uuid, that.uuid);
}
public boolean hasPermission(Permission permission){
public boolean hasPermission(Permission permission) {
return permissions.contains(permission);
}
@@ -65,9 +65,7 @@ public final class User {
public Map<String, Object> map(boolean includePassword) {
return includePassword
? Map.of(USERNAME, username, REALNAME, realName, EMAIL, email, PERMISSIONS, permissions, UUID, uuid, PASSWORD, hashedPassword)
: Map.of(USERNAME, username, REALNAME, realName, EMAIL, email, PERMISSIONS, permissions, UUID, uuid);
return includePassword ? Map.of(USERNAME, username, REALNAME, realName, EMAIL, email, PERMISSIONS, permissions, UUID, uuid, PASSWORD, hashedPassword) : Map.of(USERNAME, username, REALNAME, realName, EMAIL, email, PERMISSIONS, permissions, UUID, uuid);
}
public String realName() {

View File

@@ -6,7 +6,7 @@ import java.util.Optional;
public interface UserService {
public UserService delete(User user);
public boolean passwordMatches(String password, String hashedPassword);
public boolean passwordMatches(String password, String hashedPassword);
public UserService init(User defaultUser);
public List<User> list();
public Optional<User> load(String id);