Ex: Re: shibboleth.expiring-password.Condition in v4
Paul B. Henson
henson at cpp.edu
Fri Aug 28 19:23:32 UTC 2020
> From: Cantor, Scott
> Sent: Friday, August 28, 2020 6:55 AM
>
> The best advice I have is to read the javadocs, this is obviously not anything we
> wrote, it's just plain Java formatting.
Been there, done that, left with bumps on my head and holes in the wall :). If I was writing Java directly, I think I could have figured it out, but all of the links about the error I was receiving talked about bugs in people's Java code that needed to be fixed, and all I had to muddle with was the format string of the existing predicate.
> I believe Date is the wrong class entirely, BTW, that's the dead Java API, the
> new stuff is very different. So I thihnk you went sideways way early on this. The
> new package is java.time
The script is in JavaScript, but it's getting run by Java; I get confused whether for any particular use case I'm supposed to be using the JavaScript API or the Java API. I believe "new Date" is still the current time handling API in JavaScript (https://coderrocketfuel.com/article/convert-a-unix-timestamp-to-a-date-in-vanilla-javascript)? So instead of using that API, I should do something like:
var instant = Java.type("java.time.Instant");
var exp_time = instant.ofEpochSecond(1598582155);
shibPasswordExpiration.addValue(exp_time.toString());
This results in a value like "2020-08-28T02:35:55Z", which presumably could be parsed with a formatter of "yyyy-MM-dd'T'HH:mm:ssX"?
> Lastly, my formatter is: yyyyMMddHHmmssX
>
> Note the X. That’s how the new API models the Z in a UTC time stamp being
> present, or an actual offset.
Okay, thanks; it would be nice if the formatter just supported converting directly from a unix time_t, it's not like they aren't very common 8-/, that would avoid the extra attribute and conversion step.
I think the default formatter that comes with the distribution ("yyyyMMddHHmmss'T'") is broken though. While it will successfully parse a time, that time fails to be converted into an instant because it did not have a time zone when it was parsed?
More information about the users
mailing list