Yan,
Since getTicketMapInstanceByMetadata returns IMap<String, Ticket>, you should
only need to add cas-server-core-api-ticket-6.4.4.2.jar (or whatever version
you are using).
Only one version of the library is necessary, Ticket interface is unlikely to
change much (but keep it up to date).
Ray
On Mon, 2022-02-28 at 13:07 -0500, Yan wrote:
Notice: This message was sent from outside the University of Victoria email
system. Please be cautious with links and sensitive information.
This is CAS HazelCastTicketRegistry code, it is writing to HZ IMap object,
with TGT object. I do not see any special code, it seems writing the
TGTTicketImpl object into Imap.
public void addTicketInternal(final Ticket ticket) {
val metadata = this.ticketCatalog.find(ticket);
val ticketMap = getTicketMapInstanceByMetadata(metadata);
if (ticketMap != null) {
ticketMap.set(encTicket.getId(), encTicket, ttl, TimeUnit.SECONDS);
}
}
On Mon, Feb 28, 2022 at 12:26 PM Ray Bon <[email protected]<mailto:[email protected]>>
wrote:
Yan Zhou,
I would think that cas prepares the tickets prior to sending them to hazelcast.
Hazelcast should not need to know about the specifics of the data being stored.
Ray
On Mon, 2022-02-28 at 08:45 -0800, Yan Zhou wrote:
Notice: This message was sent from outside the University of Victoria email
system. Please be cautious with links and sensitive information.
Hi,
I realize what maybe happening, the CAS documentation assumes embedded HZ, HZ
and CAS live in the same JVM and therefore having access to all CAS jars.
But, our HZ is external to CAS, multiple CAS apps point to the same HZ cluster
running on separate VMs. How do I know which jars to package and place under
HZ's lib directory to resolve all these errors?
And further, we have CAS5 and CAS6, can I place the mix of cas5 and cas6 jars
under the same HZ lib without conflict?
2022-02-25 17:40:55 ERROR QueryPartitionOperation -
[devcas705.mdc.qdx.com<http://devcas705.mdc.qdx.com>]:5701 [hz-nist-dev] [4.2]
java.lang.ClassNotFoundException:
org.apereo.cas.ticket.refreshtoken.OAuth20DefaultRefreshToken
com.hazelcast.nio.serialization.HazelcastSerializationException:
java.lang.ClassNotFoundException:
org.apereo.cas.ticket.refreshtoken.OAuth20DefaultRefreshToken
at
com.hazelcast.internal.serialization.impl.defaultserializers.JavaDefaultSerializers$JavaSerializer.read(JavaDefaultSerializers.java:90)
at
com.hazelcast.internal.serialization.impl.defaultserializers.JavaDefaultSerializers$JavaSerializer.read(JavaDefaultSerializers.java:79)
at
com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:44)
at
com.hazelcast.internal.serialization.impl.AbstractSerializationService.toObject(AbstractSerializationService.java:208)
at
com.hazelcast.map.impl.record.Records.tryStoreIntoCache(Records.java:203)
at
com.hazelcast.map.impl.record.Records.getValueOrCachedValue(Records.java:170)
at
com.hazelcast.map.impl.query.PartitionScanRunner$1.accept(PartitionScanRunner.java:94)
at
com.hazelcast.map.impl.query.PartitionScanRunner$1.accept(PartitionScanRunner.java:89)
at
com.hazelcast.map.impl.recordstore.DefaultRecordStore.forEach(DefaultRecordStore.java:278)
at
com.hazelcast.map.impl.recordstore.DefaultRecordStore.forEach(DefaultRecordStore.java:261)
On Monday, February 28, 2022 at 11:11:44 AM UTC-5 Yan Zhou wrote:
Hi there,
Anyone having to deal with token/ticket storage that require serializing CAS
objects like Hazelcast?
For instance, TGT, ST, OIDC RT/AT all go to Hazelcast ticket registry, which
requires to serialize any objects put on IMap.
Would I have to package all jars containing these class and place on hazelcast
lib folder?
These classes are non-trivial, always have a tree of other objects, how do you
deal with
that?
Below is an example of TGT in CAS5, let alone the other objects in CAS5/CAS6,
etc.
Thanks,
Yan
public class TicketGrantingTicketImpl extends AbstractTicket implements
TicketGrantingTicket {
/**
* Unique Id for serialization.
*/
private static final long serialVersionUID = -8608149809180911599L;
/**
* The authenticated object for which this ticket was generated for.
*/
@Lob
@Column(name = "AUTHENTICATION", nullable = false, length =
Integer.MAX_VALUE)
private Authentication authentication;
--
Ray Bon
Programmer Analyst
Development Services, University Systems
2507218831 | CLE 019 | [email protected]<mailto:[email protected]>
I acknowledge and respect the lək̓ʷəŋən peoples on whose traditional territory
the university stands, and the Songhees, Esquimalt and WSÁNEĆ peoples whose
historical relationships with the land continue to this day.
--
Ray Bon
Programmer Analyst
Development Services, University Systems
2507218831 | CLE 019 | [email protected]<mailto:[email protected]>
I acknowledge and respect the lək̓ʷəŋən peoples on whose traditional territory
the university stands, and the Songhees, Esquimalt and WSÁNEĆ peoples whose
historical relationships with the land continue to this day.
--
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
---
You received this message because you are subscribed to the Google Groups "CAS
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/a/apereo.org/d/msgid/cas-user/c38e2acfc1f759bb11601372c582aad59bae45a8.camel%40uvic.ca.