{"action":"opened","issue":{"url":"https://api.github.com/repos/emanoelxavier/openid2go/issues/3","repository_url":"https://api.github.com/repos/emanoelxavier/openid2go","labels_url":"https://api.github.com/repos/emanoelxavier/openid2go/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/emanoelxavier/openid2go/issues/3/comments","events_url":"https://api.github.com/repos/emanoelxavier/openid2go/issues/3/events","html_url":"https://github.com/emanoelxavier/openid2go/issues/3","id":155004204,"number":3,"title":"Doesn't work with a JWT without kid","user":{"login":"totallyunknown","id":1724494,"avatar_url":"https://avatars.githubusercontent.com/u/1724494?v=3","gravatar_id":"","url":"https://api.github.com/users/totallyunknown","html_url":"https://github.com/totallyunknown","followers_url":"https://api.github.com/users/totallyunknown/followers","following_url":"https://api.github.com/users/totallyunknown/following{/other_user}","gists_url":"https://api.github.com/users/totallyunknown/gists{/gist_id}","starred_url":"https://api.github.com/users/totallyunknown/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/totallyunknown/subscriptions","organizations_url":"https://api.github.com/users/totallyunknown/orgs","repos_url":"https://api.github.com/users/totallyunknown/repos","events_url":"https://api.github.com/users/totallyunknown/events{/privacy}","received_events_url":"https://api.github.com/users/totallyunknown/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-05-16T10:42:07Z","updated_at":"2016-05-16T10:42:07Z","closed_at":null,"body":"If the JWT doesn't contain a **kid** field, the interface is nil and can't be casted to string.\r\n\r\nhttps://github.com/emanoelxavier/openid2go/blob/master/openid/idtokenvalidator.go#L87\r\n\r\nFix could be:\r\n\r\n```\r\n\tif jt.Header[keyIDJwtHeaderName] == nil {\r\n\t\treturn tv.keyGetter.getSigningKey(p.Issuer, \"\" )\r\n\t}\r\n\treturn tv.keyGetter.getSigningKey(p.Issuer, jt.Header[keyIDJwtHeaderName].(string) )\r\n```\r\n\r\nI've tried your code to authenticate against Keycloak 1.9.4"}}