{"action":"opened","number":735,"pull_request":{"url":"https://api.github.com/repos/pac4j/pac4j/pulls/735","id":91556708,"html_url":"https://github.com/pac4j/pac4j/pull/735","diff_url":"https://github.com/pac4j/pac4j/pull/735.diff","patch_url":"https://github.com/pac4j/pac4j/pull/735.patch","issue_url":"https://api.github.com/repos/pac4j/pac4j/issues/735","number":735,"state":"open","locked":false,"title":"Check all JWT signing configurations before giving up","user":{"login":"estsauver","id":766985,"avatar_url":"https://avatars.githubusercontent.com/u/766985?v=3","gravatar_id":"","url":"https://api.github.com/users/estsauver","html_url":"https://github.com/estsauver","followers_url":"https://api.github.com/users/estsauver/followers","following_url":"https://api.github.com/users/estsauver/following{/other_user}","gists_url":"https://api.github.com/users/estsauver/gists{/gist_id}","starred_url":"https://api.github.com/users/estsauver/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/estsauver/subscriptions","organizations_url":"https://api.github.com/users/estsauver/orgs","repos_url":"https://api.github.com/users/estsauver/repos","events_url":"https://api.github.com/users/estsauver/events{/privacy}","received_events_url":"https://api.github.com/users/estsauver/received_events","type":"User","site_admin":false},"body":"There are cases where a service publishes several keys that are all valid signers of JWT Tokens, for example google publishes several associated with their android sign in tool. (See https://developers.google.com/identity/sign-in/android/start-integrating for an in depth description of the flow, https://www.googleapis.com/oauth2/v3/certs is a list of the keys that they provide.)\r\n\r\nWhen adding multiple signature configurations to a jwtAuthenticator, only the first signature configuration is tried.\r\n\r\nI think this change should cause the JWT Authenticator to correctly attempt each successive configuration. This would be my first patch into Pac4J, and I would appreciate any feedback on the patch. ","created_at":"2016-10-31T04:53:17Z","updated_at":"2016-10-31T04:53:17Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/pac4j/pac4j/pulls/735/commits","review_comments_url":"https://api.github.com/repos/pac4j/pac4j/pulls/735/comments","review_comment_url":"https://api.github.com/repos/pac4j/pac4j/pulls/comments{/number}","comments_url":"https://api.github.com/repos/pac4j/pac4j/issues/735/comments","statuses_url":"https://api.github.com/repos/pac4j/pac4j/statuses/25d77339053be393d46f4ee144801da7ee37792e","head":{"label":"estsauver:master","ref":"master","sha":"25d77339053be393d46f4ee144801da7ee37792e","user":{"login":"estsauver","id":766985,"avatar_url":"https://avatars.githubusercontent.com/u/766985?v=3","gravatar_id":"","url":"https://api.github.com/users/estsauver","html_url":"https://github.com/estsauver","followers_url":"https://api.github.com/users/estsauver/followers","following_url":"https://api.github.com/users/estsauver/following{/other_user}","gists_url":"https://api.github.com/users/estsauver/gists{/gist_id}","starred_url":"https://api.github.com/users/estsauver/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/estsauver/subscriptions","organizations_url":"https://api.github.com/users/estsauver/orgs","repos_url":"https://api.github.com/users/estsauver/repos","events_url":"https://api.github.com/users/estsauver/events{/privacy}","received_events_url":"https://api.github.com/users/estsauver/received_events","type":"User","site_admin":false},"repo":{"id":72401736,"name":"pac4j","full_name":"estsauver/pac4j","owner":{"login":"estsauver","id":766985,"avatar_url":"https://avatars.githubusercontent.com/u/766985?v=3","gravatar_id":"","url":"https://api.github.com/users/estsauver","html_url":"https://github.com/estsauver","followers_url":"https://api.github.com/users/estsauver/followers","following_url":"https://api.github.com/users/estsauver/following{/other_user}","gists_url":"https://api.github.com/users/estsauver/gists{/gist_id}","starred_url":"https://api.github.com/users/estsauver/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/estsauver/subscriptions","organizations_url":"https://api.github.com/users/estsauver/orgs","repos_url":"https://api.github.com/users/estsauver/repos","events_url":"https://api.github.com/users/estsauver/events{/privacy}","received_events_url":"https://api.github.com/users/estsauver/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/estsauver/pac4j","description":"Security engine for Java (authentication, authorization, multi frameworks): OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...","fork":true,"url":"https://api.github.com/repos/estsauver/pac4j","forks_url":"https://api.github.com/repos/estsauver/pac4j/forks","keys_url":"https://api.github.com/repos/estsauver/pac4j/keys{/key_id}","collaborators_url":"https://api.github.com/repos/estsauver/pac4j/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/estsauver/pac4j/teams","hooks_url":"https://api.github.com/repos/estsauver/pac4j/hooks","issue_events_url":"https://api.github.com/repos/estsauver/pac4j/issues/events{/number}","events_url":"https://api.github.com/repos/estsauver/pac4j/events","assignees_url":"https://api.github.com/repos/estsauver/pac4j/assignees{/user}","branches_url":"https://api.github.com/repos/estsauver/pac4j/branches{/branch}","tags_url":"https://api.github.com/repos/estsauver/pac4j/tags","blobs_url":"https://api.github.com/repos/estsauver/pac4j/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/estsauver/pac4j/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/estsauver/pac4j/git/refs{/sha}","trees_url":"https://api.github.com/repos/estsauver/pac4j/git/trees{/sha}","statuses_url":"https://api.github.com/repos/estsauver/pac4j/statuses/{sha}","languages_url":"https://api.github.com/repos/estsauver/pac4j/languages","stargazers_url":"https://api.github.com/repos/estsauver/pac4j/stargazers","contributors_url":"https://api.github.com/repos/estsauver/pac4j/contributors","subscribers_url":"https://api.github.com/repos/estsauver/pac4j/subscribers","subscription_url":"https://api.github.com/repos/estsauver/pac4j/subscription","commits_url":"https://api.github.com/repos/estsauver/pac4j/commits{/sha}","git_commits_url":"https://api.github.com/repos/estsauver/pac4j/git/commits{/sha}","comments_url":"https://api.github.com/repos/estsauver/pac4j/comments{/number}","issue_comment_url":"https://api.github.com/repos/estsauver/pac4j/issues/comments{/number}","contents_url":"https://api.github.com/repos/estsauver/pac4j/contents/{+path}","compare_url":"https://api.github.com/repos/estsauver/pac4j/compare/{base}...{head}","merges_url":"https://api.github.com/repos/estsauver/pac4j/merges","archive_url":"https://api.github.com/repos/estsauver/pac4j/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/estsauver/pac4j/downloads","issues_url":"https://api.github.com/repos/estsauver/pac4j/issues{/number}","pulls_url":"https://api.github.com/repos/estsauver/pac4j/pulls{/number}","milestones_url":"https://api.github.com/repos/estsauver/pac4j/milestones{/number}","notifications_url":"https://api.github.com/repos/estsauver/pac4j/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/estsauver/pac4j/labels{/name}","releases_url":"https://api.github.com/repos/estsauver/pac4j/releases{/id}","deployments_url":"https://api.github.com/repos/estsauver/pac4j/deployments","created_at":"2016-10-31T04:47:29Z","updated_at":"2016-10-31T04:47:32Z","pushed_at":"2016-10-31T04:48:51Z","git_url":"git://github.com/estsauver/pac4j.git","ssh_url":"git@github.com:estsauver/pac4j.git","clone_url":"https://github.com/estsauver/pac4j.git","svn_url":"https://github.com/estsauver/pac4j","homepage":"http://www.pac4j.org","size":31349,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"pac4j:master","ref":"master","sha":"07bc787f228587a3415a977d4ebb9ea8f64584b1","user":{"login":"pac4j","id":7540865,"avatar_url":"https://avatars.githubusercontent.com/u/7540865?v=3","gravatar_id":"","url":"https://api.github.com/users/pac4j","html_url":"https://github.com/pac4j","followers_url":"https://api.github.com/users/pac4j/followers","following_url":"https://api.github.com/users/pac4j/following{/other_user}","gists_url":"https://api.github.com/users/pac4j/gists{/gist_id}","starred_url":"https://api.github.com/users/pac4j/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pac4j/subscriptions","organizations_url":"https://api.github.com/users/pac4j/orgs","repos_url":"https://api.github.com/users/pac4j/repos","events_url":"https://api.github.com/users/pac4j/events{/privacy}","received_events_url":"https://api.github.com/users/pac4j/received_events","type":"Organization","site_admin":false},"repo":{"id":3291848,"name":"pac4j","full_name":"pac4j/pac4j","owner":{"login":"pac4j","id":7540865,"avatar_url":"https://avatars.githubusercontent.com/u/7540865?v=3","gravatar_id":"","url":"https://api.github.com/users/pac4j","html_url":"https://github.com/pac4j","followers_url":"https://api.github.com/users/pac4j/followers","following_url":"https://api.github.com/users/pac4j/following{/other_user}","gists_url":"https://api.github.com/users/pac4j/gists{/gist_id}","starred_url":"https://api.github.com/users/pac4j/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pac4j/subscriptions","organizations_url":"https://api.github.com/users/pac4j/orgs","repos_url":"https://api.github.com/users/pac4j/repos","events_url":"https://api.github.com/users/pac4j/events{/privacy}","received_events_url":"https://api.github.com/users/pac4j/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/pac4j/pac4j","description":"Security engine for Java (authentication, authorization, multi frameworks): OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...","fork":false,"url":"https://api.github.com/repos/pac4j/pac4j","forks_url":"https://api.github.com/repos/pac4j/pac4j/forks","keys_url":"https://api.github.com/repos/pac4j/pac4j/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pac4j/pac4j/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pac4j/pac4j/teams","hooks_url":"https://api.github.com/repos/pac4j/pac4j/hooks","issue_events_url":"https://api.github.com/repos/pac4j/pac4j/issues/events{/number}","events_url":"https://api.github.com/repos/pac4j/pac4j/events","assignees_url":"https://api.github.com/repos/pac4j/pac4j/assignees{/user}","branches_url":"https://api.github.com/repos/pac4j/pac4j/branches{/branch}","tags_url":"https://api.github.com/repos/pac4j/pac4j/tags","blobs_url":"https://api.github.com/repos/pac4j/pac4j/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pac4j/pac4j/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pac4j/pac4j/git/refs{/sha}","trees_url":"https://api.github.com/repos/pac4j/pac4j/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pac4j/pac4j/statuses/{sha}","languages_url":"https://api.github.com/repos/pac4j/pac4j/languages","stargazers_url":"https://api.github.com/repos/pac4j/pac4j/stargazers","contributors_url":"https://api.github.com/repos/pac4j/pac4j/contributors","subscribers_url":"https://api.github.com/repos/pac4j/pac4j/subscribers","subscription_url":"https://api.github.com/repos/pac4j/pac4j/subscription","commits_url":"https://api.github.com/repos/pac4j/pac4j/commits{/sha}","git_commits_url":"https://api.github.com/repos/pac4j/pac4j/git/commits{/sha}","comments_url":"https://api.github.com/repos/pac4j/pac4j/comments{/number}","issue_comment_url":"https://api.github.com/repos/pac4j/pac4j/issues/comments{/number}","contents_url":"https://api.github.com/repos/pac4j/pac4j/contents/{+path}","compare_url":"https://api.github.com/repos/pac4j/pac4j/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pac4j/pac4j/merges","archive_url":"https://api.github.com/repos/pac4j/pac4j/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pac4j/pac4j/downloads","issues_url":"https://api.github.com/repos/pac4j/pac4j/issues{/number}","pulls_url":"https://api.github.com/repos/pac4j/pac4j/pulls{/number}","milestones_url":"https://api.github.com/repos/pac4j/pac4j/milestones{/number}","notifications_url":"https://api.github.com/repos/pac4j/pac4j/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pac4j/pac4j/labels{/name}","releases_url":"https://api.github.com/repos/pac4j/pac4j/releases{/id}","deployments_url":"https://api.github.com/repos/pac4j/pac4j/deployments","created_at":"2012-01-28T17:04:12Z","updated_at":"2016-10-31T03:15:19Z","pushed_at":"2016-10-31T04:53:17Z","git_url":"git://github.com/pac4j/pac4j.git","ssh_url":"git@github.com:pac4j/pac4j.git","clone_url":"https://github.com/pac4j/pac4j.git","svn_url":"https://github.com/pac4j/pac4j","homepage":"http://www.pac4j.org","size":31349,"stargazers_count":689,"watchers_count":689,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":240,"mirror_url":null,"open_issues_count":13,"forks":240,"open_issues":13,"watchers":689,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/pac4j/pac4j/pulls/735"},"html":{"href":"https://github.com/pac4j/pac4j/pull/735"},"issue":{"href":"https://api.github.com/repos/pac4j/pac4j/issues/735"},"comments":{"href":"https://api.github.com/repos/pac4j/pac4j/issues/735/comments"},"review_comments":{"href":"https://api.github.com/repos/pac4j/pac4j/pulls/735/comments"},"review_comment":{"href":"https://api.github.com/repos/pac4j/pac4j/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/pac4j/pac4j/pulls/735/commits"},"statuses":{"href":"https://api.github.com/repos/pac4j/pac4j/statuses/25d77339053be393d46f4ee144801da7ee37792e"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":3,"deletions":1,"changed_files":1}}
{"actor":{"display_login":"estsauver"}}