Een JSON-webtoken maken
Laatst bijgewerkt: 24 maart 2025
- Onderwerpen:
- Adaptieve formulieren
Gemaakt voor:
- Beginner
- tussenpersoon
- Ontwikkelaar
JSON Webtokens zijn een open, industriestandaard methode RFC 7519 voor veilig het vertegenwoordigen van eisen tussen twee partijen. JWT.io-bibliotheken zijn in dit voorbeeld gebruikt om de JWT te genereren.
De de dienstgeloofsbrieven die u in de vorige stap hebt gedownload bevatten de privé sleutel in formaat PKCS#1.Om de privé sleutel uit dit koord te halen hebben wij 🔗 bibliotheken 0} BouncyCastle gebruikt. De cryptobibliotheken die deel uitmaken van Java, ondersteunen de indeling PKCS#1 niet.
De volgende code is gebruikt om JWT te genereren:
public String getJWTToken()
{
Security.addProvider(new BouncyCastleProvider());
RSAPrivateKey privateKey = null;
GetServiceCredentials getCredentials = new GetServiceCredentials();
try
{
long now = System.currentTimeMillis();
Long expirationTime = now + TimeUnit.MINUTES.toMillis(5);
// get the private key string from the service credentials
String privateKeyString = getCredentials.getPRIVATE_KEY();
//The JWT signature algorithm we use to sign the token
SignatureAlgorithm sa = SignatureAlgorithm.RS256;
Reader targetReader = new StringReader(privateKeyString);
// PEMParser removes the unnecessary headers and decodes the underlying Base64 PEM data into a binary format.
PEMParser pemParser = new PEMParser(targetReader);
// tores the result generated by the pEMParser
Object object = pemParser.readObject();
JcaPEMKeyConverter converter = new JcaPEMKeyConverter().setProvider("BC");
KeyPair kp = converter.getKeyPair((PEMKeyPair) object);
privateKey = (RSAPrivateKey) kp.getPrivate();
//Let's set the JWT Claims
Map < String, Object > jwtClaims = new HashMap < String, Object > ();
jwtClaims.put("iss", getCredentials.getORG_ID());
jwtClaims.put("sub", getCredentials.getTECH_ACCT());
jwtClaims.put("exp", expirationTime);
jwtClaims.put("aud", "https://" + getCredentials.getIMS_ENDPOINT() + "/c/" + getCredentials.getCLIENT_ID());
String metascopes[] = new String[] { getCredentials.getMETASCOPE_ID() };
for (String metascope: metascopes)
{
jwtClaims.put("https://" + getCredentials.getIMS_ENDPOINT() + "/s/" + metascope, java.lang.Boolean.TRUE);
}
// Create the final JWT token
String jwtToken = Jwts.builder().setClaims(jwtClaims).signWith(sa, privateKey).compact();
System.out.println("Got JWT Token " + jwtToken);
pemParser.close();
return jwtToken;
} catch (IOException e) {
System.out.println("The error is " + e.getMessage());
}
return null;
}
Vorige paginaServicereferenties maken
Volgende paginaToegangstoken maken
Experience Manager
- Overzicht
- Afspeellijsten
- Inleiding tot AEM as a Cloud Service
- Experience Cloud-integratie
- Onderliggende technologie
- Edge Delivery Services
- Cloud Manager
- Local Development Environment Setup
- Ontwikkelen
- Uitbreidbaarheid
- Grondbeginselen van ontwikkeling
- AEM-projecten
- OSGi Services
- Geavanceerd
- Snelle ontwikkelomgeving
- Universal Editor
- AEM SDK API JavaDocs
- Foutopsporing in AEM
- AEM API’s
- Inhoud leveren
- Caching
- Toegang tot AEM
- Verificatie
- Geavanceerde netwerken
- Beveiliging
- AEM Event
- Migratie
- Inhoud overbrengen
- Bulkimport van activa
- Overstappen naar AEM as a Cloud Service
- Cloud Acceleration Manager
- Inleiding
- Gereedheid en analyse van best practices
- Implementatiefase
- Gereedschappen voor het reviseren van code
- Modernizer van opslagplaats voor code
- Dispatcher Converter
- Indexconversie
- De tool Asset Workflow Migration
- Navigeren door de Cloud Acceleration Manager
- De Cloud Acceleration Manager gebruiken
- Fragmenten van de Inhoud
- Forms
- Ontwikkelen voor Forms as a Cloud Service
- 1 - Aan de slag
- 2 - Installeer IntelliJ
- 3 - Instellingsopening
- 4 - Synchroniseer IntelliJ met AEM
- 5 - Een formulier maken
- 6 - Aangepaste verzendhandler
- 7 - servlet registreren met behulp van brontype
- 8 - Forms Portal-componenten inschakelen
- 9 - Inclusief cloudservices en FDM
- 10 - cloudconfiguratie met behoud van context
- 11 - Push to Cloud Manager
- 12 - Distribueren naar ontwikkelomgeving
- 13 - Gemaakt archetype bijwerken
- Adaptief formulier maken
- Aangepaste verzendservice met koploze vorm
- Adresblokcomponent maken
- Aanklikbare afbeeldingscomponent maken
- AEM Forms en Analytics
- Onderdeel voor vervolgkeuzelijst met landen maken
- Knopvariaties maken
- Verticale tabbladen gebruiken
- De uitvoer- en formulierservice gebruiken
- Documentgeneratie in AEM Forms CS
- Forms Document Services API gebruiken
- Documentgeneratie met gebruik van batch-API
- PDF Manipulation in Forms CS
- Integreren met Marketo
- Formulierverzendingen opslaan met BLOB-indexcodes
- Op kerncomponenten gebaseerde vorm vooraf invullen
- Azure Portal Storage
- Formulier invullen opslaan en hervatten
- Revisieworkflow maken
- Acrobat Sign met AEM Forms
- Integreren met Microsoft Power Automate
- Integreren met Microsoft Dynamics
- Integreren met Salesforce
- Formulierverzendingen opslaan in één station en sharepoint
- Ontwikkelen voor Forms as a Cloud Service
- Uitbreidbaarheid Asset Compute
- Zelfstudies met meerdere stappen
- Expert Resources