{"action":"created","issue":{"url":"https://api.github.com/repos/apereo/cas/issues/2043","repository_url":"https://api.github.com/repos/apereo/cas","labels_url":"https://api.github.com/repos/apereo/cas/issues/2043/labels{/name}","comments_url":"https://api.github.com/repos/apereo/cas/issues/2043/comments","events_url":"https://api.github.com/repos/apereo/cas/issues/2043/events","html_url":"https://github.com/apereo/cas/issues/2043","id":183402039,"number":2043,"title":"Contracts for ExpirationPolicy and MultiTimeUseOrTimeoutExpirationPolicy differ in used time units","user":{"login":"FSchumacher","id":1997314,"avatar_url":"https://avatars.githubusercontent.com/u/1997314?v=3","gravatar_id":"","url":"https://api.github.com/users/FSchumacher","html_url":"https://github.com/FSchumacher","followers_url":"https://api.github.com/users/FSchumacher/followers","following_url":"https://api.github.com/users/FSchumacher/following{/other_user}","gists_url":"https://api.github.com/users/FSchumacher/gists{/gist_id}","starred_url":"https://api.github.com/users/FSchumacher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FSchumacher/subscriptions","organizations_url":"https://api.github.com/users/FSchumacher/orgs","repos_url":"https://api.github.com/users/FSchumacher/repos","events_url":"https://api.github.com/users/FSchumacher/events{/privacy}","received_events_url":"https://api.github.com/users/FSchumacher/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/apereo/cas/labels/Bug","name":"Bug","color":"e11d21"},{"url":"https://api.github.com/repos/apereo/cas/labels/Documentation","name":"Documentation","color":"1d76db"},{"url":"https://api.github.com/repos/apereo/cas/labels/Expiration%20Policy","name":"Expiration Policy","color":"1d76db"},{"url":"https://api.github.com/repos/apereo/cas/labels/Trivial","name":"Trivial","color":"009800"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/apereo/cas/milestones/15","html_url":"https://github.com/apereo/cas/milestones/5.0.0","labels_url":"https://api.github.com/repos/apereo/cas/milestones/15/labels","id":1349862,"number":15,"title":"5.0.0","description":"Major release: General Availability (Stable)","creator":{"login":"mmoayyed","id":1205228,"avatar_url":"https://avatars.githubusercontent.com/u/1205228?v=3","gravatar_id":"","url":"https://api.github.com/users/mmoayyed","html_url":"https://github.com/mmoayyed","followers_url":"https://api.github.com/users/mmoayyed/followers","following_url":"https://api.github.com/users/mmoayyed/following{/other_user}","gists_url":"https://api.github.com/users/mmoayyed/gists{/gist_id}","starred_url":"https://api.github.com/users/mmoayyed/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mmoayyed/subscriptions","organizations_url":"https://api.github.com/users/mmoayyed/orgs","repos_url":"https://api.github.com/users/mmoayyed/repos","events_url":"https://api.github.com/users/mmoayyed/events{/privacy}","received_events_url":"https://api.github.com/users/mmoayyed/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":138,"state":"open","created_at":"2015-10-12T01:28:38Z","updated_at":"2016-10-17T15:22:35Z","due_on":"2016-10-17T00:00:00Z","closed_at":null},"comments":4,"created_at":"2016-10-17T12:25:11Z","updated_at":"2016-10-17T17:27:54Z","closed_at":null,"body":"<!--\r\n\r\n## Before you report issues\r\nIn order to streamline the process of evaluating issues, we ask that you:\r\n\r\n- First, check with CAS' user mailing list to see if the issue has been reported there and if there are any workarounds.\r\n- Cross check with the official CAS documentation to see if there are any missing steps in your configuration.\r\n- Check CAS' issue tracker to see if your issue has already been reported.\r\n \r\n## Remember that...\r\nIf you have a question about how to configure a feature in CAS, please use the CAS mailing lists instead. If your submission is not an actual issue or does not carry enough diagnostic data, the issue may be automatically closed.\r\n\r\n## To reproduce the issue\r\n\r\nWhen and where appropriate, please submit your CAS configuration/overlay to this project in form of a pull request so we could easily evaluate your deployment configuration to reproduce the issue: \r\n\r\nhttps://github.com/cas-projects/cas-issues/\r\n\r\nThank you.\r\n-->\r\n\r\nIn CAS 5.0.0.RC4-snapshot (probably earlier too) the contracts for `ExpirationPolicy#getTimeToLive` and `MultiTimeUseOrTimeoutExpirationPolicy#getTimeToLive` seem to differ in their time-resolution.\r\n\r\n`MultiTimeUseOrTimeoutExpirationPolicy` gets initialized with values in units of milliseconds (and returns them without conversion), while `ExpirationPolicy#getTimeToLive` states, that it returns values in units of seconds.\r\n\r\nThat leads to a rather long timeout for tickets."},"comment":{"url":"https://api.github.com/repos/apereo/cas/issues/comments/254275270","html_url":"https://github.com/apereo/cas/issues/2043#issuecomment-254275270","issue_url":"https://api.github.com/repos/apereo/cas/issues/2043","id":254275270,"user":{"login":"mmoayyed","id":1205228,"avatar_url":"https://avatars.githubusercontent.com/u/1205228?v=3","gravatar_id":"","url":"https://api.github.com/users/mmoayyed","html_url":"https://github.com/mmoayyed","followers_url":"https://api.github.com/users/mmoayyed/followers","following_url":"https://api.github.com/users/mmoayyed/following{/other_user}","gists_url":"https://api.github.com/users/mmoayyed/gists{/gist_id}","starred_url":"https://api.github.com/users/mmoayyed/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mmoayyed/subscriptions","organizations_url":"https://api.github.com/users/mmoayyed/orgs","repos_url":"https://api.github.com/users/mmoayyed/repos","events_url":"https://api.github.com/users/mmoayyed/events{/privacy}","received_events_url":"https://api.github.com/users/mmoayyed/received_events","type":"User","site_admin":false},"created_at":"2016-10-17T17:27:54Z","updated_at":"2016-10-17T17:27:54Z","body":"I double checked. \r\n\r\nCAS consistently uses SECONDS for all expiration policies. We don't instantiate `MultiTimeUseOrTimeoutExpirationPolicy` at all. Rather, there are child classes for STs, PTs whose conversion is handled directly in Configuration classes. Same goes for all policies that deal with TGTs. So any registry that attempts to put a value inside a ticket registry acts one a timeout that is in seconds, and `ticket.getExpirationPolicy().getTimeToLive()` should always return the converted value in seconds. If you want this to be false somehow, please attach an overlay project so we can observe and duplicate the issue. \r\n\r\nUnless you create your own expiration policies, in which case, you're sort of on your own. "}}
{"actor":{"display_login":"mmoayyed"}}