{"action":"closed","issue":{"url":"https://api.github.com/repos/spring-projects/spring-security-oauth/issues/438","labels_url":"https://api.github.com/repos/spring-projects/spring-security-oauth/issues/438/labels{/name}","comments_url":"https://api.github.com/repos/spring-projects/spring-security-oauth/issues/438/comments","events_url":"https://api.github.com/repos/spring-projects/spring-security-oauth/issues/438/events","html_url":"https://github.com/spring-projects/spring-security-oauth/issues/438","id":63182204,"number":438,"title":"ResourceOwnerPassword grant loses authentication details (like remote IP)","user":{"login":"fkowal","id":512798,"avatar_url":"https://avatars.githubusercontent.com/u/512798?v=3","gravatar_id":"","url":"https://api.github.com/users/fkowal","html_url":"https://github.com/fkowal","followers_url":"https://api.github.com/users/fkowal/followers","following_url":"https://api.github.com/users/fkowal/following{/other_user}","gists_url":"https://api.github.com/users/fkowal/gists{/gist_id}","starred_url":"https://api.github.com/users/fkowal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fkowal/subscriptions","organizations_url":"https://api.github.com/users/fkowal/orgs","repos_url":"https://api.github.com/users/fkowal/repos","events_url":"https://api.github.com/users/fkowal/events{/privacy}","received_events_url":"https://api.github.com/users/fkowal/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/spring-projects/spring-security-oauth/labels/Question","name":"Question","color":"eb6420"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-03-20T07:39:44Z","updated_at":"2015-06-12T11:28:14Z","closed_at":"2015-06-12T11:28:14Z","body":"```\r\ncurl -i --basic -u client_id:secret -d 'grant_type=password&username=someuser&password=somepass'  localhost:8080/auth/oauth/token\r\n```\r\n\r\nin `TokenEndpoint.getAccessToken` `principal.getDetails()` has remoteIp\r\n\r\nbut this information is lost by `ResourceOwnerPasswordTokenGranter.getOAuth2Authentication()`\r\nwhich creates a `UsernamePasswordAuthenticationToken` that is passed to\r\nmy custom implementation of `AuthenticationProvider`.\r\n\r\nI require access to the incoming requests details (remoteIp for example) during the authentication procedure.\r\n"}}