{"action":"created","issue":{"url":"https://api.github.com/repos/symfony/symfony/issues/15870","labels_url":"https://api.github.com/repos/symfony/symfony/issues/15870/labels{/name}","comments_url":"https://api.github.com/repos/symfony/symfony/issues/15870/comments","events_url":"https://api.github.com/repos/symfony/symfony/issues/15870/events","html_url":"https://github.com/symfony/symfony/pull/15870","id":107830793,"number":15870,"title":"Updating AbstractVoter so that the method receives the TokenInterface","user":{"login":"weaverryan","id":121003,"avatar_url":"https://avatars.githubusercontent.com/u/121003?v=3","gravatar_id":"","url":"https://api.github.com/users/weaverryan","html_url":"https://github.com/weaverryan","followers_url":"https://api.github.com/users/weaverryan/followers","following_url":"https://api.github.com/users/weaverryan/following{/other_user}","gists_url":"https://api.github.com/users/weaverryan/gists{/gist_id}","starred_url":"https://api.github.com/users/weaverryan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/weaverryan/subscriptions","organizations_url":"https://api.github.com/users/weaverryan/orgs","repos_url":"https://api.github.com/users/weaverryan/repos","events_url":"https://api.github.com/users/weaverryan/events{/privacy}","received_events_url":"https://api.github.com/users/weaverryan/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/symfony/symfony/labels/Status:%20Needs%20Review","name":"Status: Needs Review","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-09-23T00:38:09Z","updated_at":"2015-09-23T06:27:01Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/symfony/symfony/pulls/15870","html_url":"https://github.com/symfony/symfony/pull/15870","diff_url":"https://github.com/symfony/symfony/pull/15870.diff","patch_url":"https://github.com/symfony/symfony/pull/15870.patch"},"body":"| Q             | A\r\n| ------------- | ---\r\n| Bug fix?      | no\r\n| New feature?  | yes\r\n| BC breaks?    | no\r\n| Deprecations? | yes\r\n| Tests pass?   | yes\r\n| Fixed tickets | #12360 \r\n| License       | MIT\r\n| Doc PR        | not yet\r\n\r\nThis fixes #12360, and along with already-merged #14733, this would make it possible to make calls back to the `AccessDecisionManager` inside a voter (e.g. you might check to see if `IS_AUTHENTICATED_FULLY` from inside your voter).\r\n\r\nWe originally passed the User instead of the token to be nice, but it's a limitation, and since we never sanitized the User (i.e. a string may be passed to `AbstractToken::isGranted()`), it's not helpful anyways.\r\n\r\nThanks!"},"comment":{"url":"https://api.github.com/repos/symfony/symfony/issues/comments/142507332","html_url":"https://github.com/symfony/symfony/pull/15870#issuecomment-142507332","issue_url":"https://api.github.com/repos/symfony/symfony/issues/15870","id":142507332,"user":{"login":"iltar","id":1754678,"avatar_url":"https://avatars.githubusercontent.com/u/1754678?v=3","gravatar_id":"","url":"https://api.github.com/users/iltar","html_url":"https://github.com/iltar","followers_url":"https://api.github.com/users/iltar/followers","following_url":"https://api.github.com/users/iltar/following{/other_user}","gists_url":"https://api.github.com/users/iltar/gists{/gist_id}","starred_url":"https://api.github.com/users/iltar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iltar/subscriptions","organizations_url":"https://api.github.com/users/iltar/orgs","repos_url":"https://api.github.com/users/iltar/repos","events_url":"https://api.github.com/users/iltar/events{/privacy}","received_events_url":"https://api.github.com/users/iltar/received_events","type":"User","site_admin":false},"created_at":"2015-09-23T06:27:01Z","updated_at":"2015-09-23T06:27:01Z","body":"I think this is a fair compromise for the feature. The name `voteOnAttribute` also makes a lot more sense than `isGranted`, as this would imply that the voter grants access, while it's only one of many possible voters."}}