{"action":"created","issue":{"url":"https://api.github.com/repos/Jroland/kafka-net/issues/82","repository_url":"https://api.github.com/repos/Jroland/kafka-net","labels_url":"https://api.github.com/repos/Jroland/kafka-net/issues/82/labels{/name}","comments_url":"https://api.github.com/repos/Jroland/kafka-net/issues/82/comments","events_url":"https://api.github.com/repos/Jroland/kafka-net/issues/82/events","html_url":"https://github.com/Jroland/kafka-net/issues/82","id":128037144,"number":82,"title":"Producer Security with Kerberos","user":{"login":"d1820","id":377631,"avatar_url":"https://avatars.githubusercontent.com/u/377631?v=3","gravatar_id":"","url":"https://api.github.com/users/d1820","html_url":"https://github.com/d1820","followers_url":"https://api.github.com/users/d1820/followers","following_url":"https://api.github.com/users/d1820/following{/other_user}","gists_url":"https://api.github.com/users/d1820/gists{/gist_id}","starred_url":"https://api.github.com/users/d1820/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/d1820/subscriptions","organizations_url":"https://api.github.com/users/d1820/orgs","repos_url":"https://api.github.com/users/d1820/repos","events_url":"https://api.github.com/users/d1820/events{/privacy}","received_events_url":"https://api.github.com/users/d1820/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-01-21T22:33:41Z","updated_at":"2016-04-27T14:21:48Z","closed_at":null,"body":"In the current version of Kafka 9.0.x. The producer/consumer API can support kerberos authentication to an AD server. In review your code I dont clearly see a way to do this. Is this not currently possible? From the java perspective possible by running these steps:\r\n\r\nhttps://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.2/bk_secure-kafka-ambari/content/ch_secure-kafka-config-options.html#d6e422\r\n\r\nAny insight to this? or how i would be able to accomplish this?\r\n\r\nUpdate - looks as if it could possibly be done by editing the KafkaTcpSocket:GetStreamAsync() but this is a private method. Would need to be able to get access to the networkStream so could wrap that in a NegotiateStream.\r\n\r\nAny way we can add a optional Func to the KafkaTcpSocket class to allow for a way to get the stream and alter it before its returned and allow for a task System.IO.Stream return type or maybe use the visitor/decorator pattern on the stream? Otherwise I think the only other option would be to re-create the KafkaTcpSocket class and make the changes..\r\n\r\nThanks"},"comment":{"url":"https://api.github.com/repos/Jroland/kafka-net/issues/comments/215099358","html_url":"https://github.com/Jroland/kafka-net/issues/82#issuecomment-215099358","issue_url":"https://api.github.com/repos/Jroland/kafka-net/issues/82","id":215099358,"user":{"login":"d1820","id":377631,"avatar_url":"https://avatars.githubusercontent.com/u/377631?v=3","gravatar_id":"","url":"https://api.github.com/users/d1820","html_url":"https://github.com/d1820","followers_url":"https://api.github.com/users/d1820/followers","following_url":"https://api.github.com/users/d1820/following{/other_user}","gists_url":"https://api.github.com/users/d1820/gists{/gist_id}","starred_url":"https://api.github.com/users/d1820/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/d1820/subscriptions","organizations_url":"https://api.github.com/users/d1820/orgs","repos_url":"https://api.github.com/users/d1820/repos","events_url":"https://api.github.com/users/d1820/events{/privacy}","received_events_url":"https://api.github.com/users/d1820/received_events","type":"User","site_admin":false},"created_at":"2016-04-27T14:21:48Z","updated_at":"2016-04-27T14:21:48Z","body":"I created a branch out there that implements decorators into the producer\nat least which will allow you to implement your own security on the stream.\nThis will let you do Kerberos.  You will need to ensure all the correct\nservice principal names are set up on auth server as well..\n\nUltimately I ended up just writing my stuff in Java which natively\nsupported Kerberos in the Kafka api.. Was super simple to do using all the\nexamples online from Kafka sight.. We didn't like the fact that the. Net\nlib had not been very active in putting in fixes and updates and we didn't\nwant to support parallel branches.\nOn Apr 27, 2016 6:21 AM, \"natami\" <notifications@github.com> wrote:\n\n> Did you guys find a solution to do kerberos authentication for both\n> consumer/producer?\n>\n> —\n> You are receiving this because you authored the thread.\n> Reply to this email directly or view it on GitHub\n> <https://github.com/Jroland/kafka-net/issues/82#issuecomment-215080736>\n>\n"}}