🚧 Encode user details in id token
This commit is contained in:
parent
701df23c1e
commit
a210b05661
@ -1,6 +1,7 @@
|
||||
package de.tavolio.oidc.token;
|
||||
|
||||
import de.tavolio.oidc.IssuerService;
|
||||
import de.tavolio.realm.user.UserEntity;
|
||||
import io.smallrye.jwt.build.Jwt;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
@ -39,12 +40,15 @@ public class UserTokenGenerator
|
||||
.sign(key);
|
||||
}
|
||||
|
||||
public String generateIDToken(String realmKey, String clientId, String upn, ZonedDateTime expiresAt, PrivateKey key, String keyId)
|
||||
public String generateIDToken(String realmKey, String clientId, String upn, ZonedDateTime expiresAt, PrivateKey key, String keyId, UserEntity user)
|
||||
{
|
||||
return Jwt.claims()
|
||||
.upn(upn)
|
||||
.claim("realm_key", realmKey)
|
||||
.claim("client_id", clientId)
|
||||
.claim("email", user.getEmail())
|
||||
.claim("firstname", user.getFirstname())
|
||||
.claim("lastname", user.getLastname())
|
||||
.expiresAt(expiresAt.toInstant())
|
||||
.issuer(issuerService.getIssuer(realmKey)).jws().keyId(keyId)
|
||||
.sign(key);
|
||||
|
||||
@ -69,7 +69,7 @@ public class UserTokenService
|
||||
TokenResponse response = new TokenResponse()
|
||||
.setAccessToken(userTokenGenerator.generateAccessToken(realm.getKey(), principal, entity.getAccount().getId(), expiresAt, signingKey, keypair.getId()))
|
||||
.setRefreshToken(userTokenGenerator.generateRefreshToken(realm.getKey(), principal, entity.getAccount().getId(), refreshTokenExpiresAt, signingKey, keypair.getId()))
|
||||
.setIdToken(userTokenGenerator.generateIDToken(realm.getKey(), principal, entity.getAccount().getId(), expiresAt, signingKey, keypair.getId()))
|
||||
.setIdToken(userTokenGenerator.generateIDToken(realm.getKey(), principal, entity.getAccount().getId(), expiresAt, signingKey, keypair.getId(), entity.getAccount()))
|
||||
.setTokenType("Bearer")
|
||||
.setExpiresAt(expiresAt.toInstant().getEpochSecond());
|
||||
codeRepo.delete(entity);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user