{"action":"created","issue":{"url":"https://api.github.com/repos/crossbario/crossbar/issues/11","labels_url":"https://api.github.com/repos/crossbario/crossbar/issues/11/labels{/name}","comments_url":"https://api.github.com/repos/crossbario/crossbar/issues/11/comments","events_url":"https://api.github.com/repos/crossbario/crossbar/issues/11/events","html_url":"https://github.com/crossbario/crossbar/issues/11","id":28741169,"number":11,"title":"Implement authentication: client certificate based","user":{"login":"oberstet","id":233340,"avatar_url":"https://avatars.githubusercontent.com/u/233340?v=3","gravatar_id":"","url":"https://api.github.com/users/oberstet","html_url":"https://github.com/oberstet","followers_url":"https://api.github.com/users/oberstet/followers","following_url":"https://api.github.com/users/oberstet/following{/other_user}","gists_url":"https://api.github.com/users/oberstet/gists{/gist_id}","starred_url":"https://api.github.com/users/oberstet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oberstet/subscriptions","organizations_url":"https://api.github.com/users/oberstet/orgs","repos_url":"https://api.github.com/users/oberstet/repos","events_url":"https://api.github.com/users/oberstet/events{/privacy}","received_events_url":"https://api.github.com/users/oberstet/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/crossbario/crossbar/labels/core","name":"core","color":"009800"},{"url":"https://api.github.com/repos/crossbario/crossbar/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/crossbario/crossbar/milestones/2","html_url":"https://github.com/crossbario/crossbar/milestones/2.0","labels_url":"https://api.github.com/repos/crossbario/crossbar/milestones/2/labels","id":830798,"number":2,"title":"2.0","description":"","creator":{"login":"oberstet","id":233340,"avatar_url":"https://avatars.githubusercontent.com/u/233340?v=3","gravatar_id":"","url":"https://api.github.com/users/oberstet","html_url":"https://github.com/oberstet","followers_url":"https://api.github.com/users/oberstet/followers","following_url":"https://api.github.com/users/oberstet/following{/other_user}","gists_url":"https://api.github.com/users/oberstet/gists{/gist_id}","starred_url":"https://api.github.com/users/oberstet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oberstet/subscriptions","organizations_url":"https://api.github.com/users/oberstet/orgs","repos_url":"https://api.github.com/users/oberstet/repos","events_url":"https://api.github.com/users/oberstet/events{/privacy}","received_events_url":"https://api.github.com/users/oberstet/received_events","type":"User","site_admin":false},"open_issues":11,"closed_issues":6,"state":"open","created_at":"2014-10-17T21:37:59Z","updated_at":"2015-04-07T19:35:22Z","due_on":"2015-05-21T07:00:00Z","closed_at":null},"comments":5,"created_at":"2014-03-04T21:11:11Z","updated_at":"2015-05-27T19:44:27Z","closed_at":null,"body":"From https://github.com/crossbario/crossbar/wiki/Authentication-Methods"},"comment":{"url":"https://api.github.com/repos/crossbario/crossbar/issues/comments/106050027","html_url":"https://github.com/crossbario/crossbar/issues/11#issuecomment-106050027","issue_url":"https://api.github.com/repos/crossbario/crossbar/issues/11","id":106050027,"user":{"login":"oberstet","id":233340,"avatar_url":"https://avatars.githubusercontent.com/u/233340?v=3","gravatar_id":"","url":"https://api.github.com/users/oberstet","html_url":"https://github.com/oberstet","followers_url":"https://api.github.com/users/oberstet/followers","following_url":"https://api.github.com/users/oberstet/following{/other_user}","gists_url":"https://api.github.com/users/oberstet/gists{/gist_id}","starred_url":"https://api.github.com/users/oberstet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oberstet/subscriptions","organizations_url":"https://api.github.com/users/oberstet/orgs","repos_url":"https://api.github.com/users/oberstet/repos","events_url":"https://api.github.com/users/oberstet/events{/privacy}","received_events_url":"https://api.github.com/users/oberstet/received_events","type":"User","site_admin":false},"created_at":"2015-05-27T19:44:27Z","updated_at":"2015-05-27T19:44:27Z","body":"@pataelmo To your actual itch: authenticating WAMP clients to Crossbar.io using client certificates, but where the TLS termination is done by a reverse proxy:\r\n\r\nThis should be possible using a custom authenticator. E.g. see here for a WAMP-CRA example. Custom authenticators get transport level information as well. Which in case of WebSocket includes all HTTP headers (means you get the `X-Client-Verified` and `X-Client-DN`).\r\n\r\nSince in your case the client fully authenticates at the transport level, neither WAMP-CRA or WAMP-Ticket applies, but we would need the option to have custom authenticators even for WAMP \"anonymous\" (where the client doesn't provide auth info at WAMP level).\r\n\r\nNote: we _also_ want to have the option to let Crossbar.io terminate the TLS and do the auth dance. But that is different from above."}}