added oidc authentication

This commit is contained in:
2023-09-07 08:15:02 +08:00
parent b9851eecaf
commit 214243e465
11 changed files with 99 additions and 54 deletions

View File

@@ -9,4 +9,5 @@ module net.woggioni.jpacrepo.api {
exports net.woggioni.jpacrepo.api.model;
exports net.woggioni.jpacrepo.api.service;
exports net.woggioni.jpacrepo.api.wire;
exports net.woggioni.jpacrepo.api.security;
}

View File

@@ -0,0 +1,9 @@
package net.woggioni.jpacrepo.api.security;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class Roles {
public static final String WRITER = "jpacrepo";
}

View File

@@ -1,5 +1,6 @@
package net.woggioni.jpacrepo.api.service;
import jakarta.annotation.security.PermitAll;
import jakarta.ejb.Local;
import net.woggioni.jpacrepo.api.model.CompressionFormat;
import net.woggioni.jpacrepo.api.model.PkgData;
@@ -7,6 +8,7 @@ import net.woggioni.jpacrepo.api.model.PkgData;
import java.util.List;
@Local
@PermitAll
public interface PacmanServiceLocal extends PacmanServiceRemote {
long countResults(String name, String version, String arch);
List<PkgData> searchPackage(String name,

View File

@@ -2,10 +2,13 @@ package net.woggioni.jpacrepo.api.service;
import jakarta.annotation.Nonnull;
import jakarta.annotation.Nullable;
import jakarta.annotation.security.PermitAll;
import jakarta.annotation.security.RolesAllowed;
import jakarta.ejb.Remote;
import net.woggioni.jpacrepo.api.model.CompressionFormat;
import net.woggioni.jpacrepo.api.model.PkgData;
import net.woggioni.jpacrepo.api.model.PkgId;
import net.woggioni.jpacrepo.api.security.Roles;
import net.woggioni.jpacrepo.api.wire.PkgTuple;
import java.io.InputStream;
@@ -15,6 +18,7 @@ import java.util.NavigableMap;
import java.util.Set;
@Remote
@PermitAll
public interface PacmanServiceRemote {
void syncDB();
@@ -42,9 +46,11 @@ public interface PacmanServiceRemote {
@Nullable
Long getFileSize(String fileName);
@RolesAllowed(Roles.WRITER)
Set<String> missingFiles(Collection<String> fileNames);
NavigableMap<PkgId, PkgTuple> getPkgMap();
@RolesAllowed(Roles.WRITER)
boolean addPackage(String fileName, InputStream inputStream);
}