• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wistefan / keycloak-vc-issuer / #424

14 Nov 2023 02:06PM UTC coverage: 41.163% (-7.7%) from 48.895%
#424

push

wistefan
use protocol mappers

354 of 860 relevant lines covered (41.16%)

0.41 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
src/main/java/org/fiware/keycloak/VCIssuerRealmResourceProviderFactory.java
1
package org.fiware.keycloak;
2

3
import com.apicatalog.jsonld.JsonLdError;
4
import com.apicatalog.jsonld.document.JsonDocument;
5
import com.apicatalog.jsonld.http.media.MediaType;
6
import com.fasterxml.jackson.databind.ObjectMapper;
7
import com.google.auto.service.AutoService;
8
import info.weboftrust.ldsignatures.jsonld.LDSecurityContexts;
9
import org.jboss.logging.Logger;
10
import org.keycloak.Config;
11
import org.keycloak.models.KeycloakSession;
12
import org.keycloak.models.KeycloakSessionFactory;
13
import org.keycloak.services.managers.AppAuthManager;
14
import org.keycloak.services.resource.RealmResourceProvider;
15
import org.keycloak.services.resource.RealmResourceProviderFactory;
16

17
import java.time.Clock;
18
import java.util.List;
19
import java.util.Objects;
20
import java.util.Optional;
21

22
/**
23
 * Factory implementation to provide the VCIssuer functionality as a realm resource.
24
 */
25
@AutoService(RealmResourceProviderFactory.class)
26
public class VCIssuerRealmResourceProviderFactory implements RealmResourceProviderFactory {
×
27

28
        private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
×
29

30
        private static final Logger LOGGER = Logger.getLogger(VCIssuerRealmResourceProviderFactory.class);
×
31
        public static final String ID = "verifiable-credential";
32

33
        private final Clock clock = Clock.systemUTC();
×
34

35
        @Override
36
        public RealmResourceProvider create(KeycloakSession keycloakSession) {
37
                LOGGER.debug("Create vc-issuer resource provider");
×
38

39
                String issuerDid = Optional.ofNullable(keycloakSession.getContext().getRealm().getAttribute("issuerDid"))
×
40
                                .orElseThrow(() -> new VCIssuerException("No issuerDid  configured."));
×
41
                String keyPath = Optional.ofNullable(keycloakSession.getContext().getRealm().getAttribute("keyPath"))
×
42
                                .orElseThrow(() -> new VCIssuerException("No keyPath configured."));
×
43
                return new VCIssuerRealmResourceProvider(
×
44
                                keycloakSession,
45
                                issuerDid, keyPath,
46
                                new AppAuthManager.BearerTokenAuthenticator(
47
                                                keycloakSession), OBJECT_MAPPER, clock
48
                );
49
        }
50

51
        @Override
52
        public void init(Config.Scope config) {
53
        }
×
54

55
        @Override
56
        public void postInit(KeycloakSessionFactory keycloakSessionFactory) {
57
                // nothing to do here.
58
        }
×
59

60
        @Override
61
        public void close() {
62
                // specific resources to be closed
63
        }
×
64

65
        @Override
66
        public String getId() {
67
                return ID;
×
68
        }
69
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc