The proxy mechanism of CAS works when both the proxied application (your API) and the client (SDK implementer) are both registered in CAS.
Credentials are entered in CAS once (SSO), CAS sends the user a TGC (TGT remains on CAS server). Ticket Granting Cookie is used to verify SSO session for new services.
The proxy system does indeed work like like your description in b). Client application gets a PGT (Proxy Granting Ticket) and for each request to your API will get a PT which your API will verify with CAS. There is a lot of back and forth but security
is not free.
I suspect, but do not know, that the TGC is somehow tied to the browser. Unless the SDK is on the same domain as CAS, there is no way for the SDK to get the TGC. And even if it could, your API may not be able to use it. Think about it like this, if the
cookie could be shared, what would be the point of log in.
If you want to use a single PT for all API calls, that can be done as well. But then you have no way to know if the SSO session has expired (but maybe that does not matter). And when your API session ends, how do you let the SDK know?
You could also create your own token and send that to the client as the first call to the API. But you still have all the session baggage to deal with.
All this is already handled by CAS. You save yourself (and SDK developers) a shitload of work for the cost of a few milliseconds and some network traffic.
If you are still interested in a token based system, look into OAUTH 2.0. It was designed for API access. If you need to add identity to the mix, OIDC is the place to be. These systems may provide a more flexibility for end users of the SDK but perhaps
a little more work on your part.
Ray