{"action":"created","issue":{"url":"https://api.github.com/repos/aspnet/Security/issues/684","repository_url":"https://api.github.com/repos/aspnet/Security","labels_url":"https://api.github.com/repos/aspnet/Security/issues/684/labels{/name}","comments_url":"https://api.github.com/repos/aspnet/Security/issues/684/comments","events_url":"https://api.github.com/repos/aspnet/Security/issues/684/events","html_url":"https://github.com/aspnet/Security/pull/684","id":131291321,"number":684,"title":"Ensure scope has no duplicates","user":{"login":"mikes-gh","id":16208742,"avatar_url":"https://avatars.githubusercontent.com/u/16208742?v=3","gravatar_id":"","url":"https://api.github.com/users/mikes-gh","html_url":"https://github.com/mikes-gh","followers_url":"https://api.github.com/users/mikes-gh/followers","following_url":"https://api.github.com/users/mikes-gh/following{/other_user}","gists_url":"https://api.github.com/users/mikes-gh/gists{/gist_id}","starred_url":"https://api.github.com/users/mikes-gh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikes-gh/subscriptions","organizations_url":"https://api.github.com/users/mikes-gh/orgs","repos_url":"https://api.github.com/users/mikes-gh/repos","events_url":"https://api.github.com/users/mikes-gh/events{/privacy}","received_events_url":"https://api.github.com/users/mikes-gh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-02-04T09:37:51Z","updated_at":"2016-02-04T09:37:54Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/aspnet/Security/pulls/684","html_url":"https://github.com/aspnet/Security/pull/684","diff_url":"https://github.com/aspnet/Security/pull/684.diff","patch_url":"https://github.com/aspnet/Security/pull/684.patch"},"body":"Make sure scope list only has unique elements.\r\n\r\n- Change  OAuthOptions to use Hashset for Scope list\r\n- Change OpenIDConnectOptions to use HashSet for scope list\r\n- Change OpenIDConnectOptions  to new options pattern for scope defaults\r\n\r\nNo known APIs break with duplicate scope values.\r\nHowever Facebook breaks for duplicate field values so it seems a good idea to guard against duplicate scope values as well  using the same methodology.\r\nIt is quite possible that a future API may not be so accommodating of duplicate values.\r\n\r\nPS I cant get tests running but tested used social sample and OpenIDConnect sample (Google authority)\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/aspnet/Security/issues/comments/179733355","html_url":"https://github.com/aspnet/Security/pull/684#issuecomment-179733355","issue_url":"https://api.github.com/repos/aspnet/Security/issues/684","id":179733355,"user":{"login":"dnfclas","id":10201666,"avatar_url":"https://avatars.githubusercontent.com/u/10201666?v=3","gravatar_id":"","url":"https://api.github.com/users/dnfclas","html_url":"https://github.com/dnfclas","followers_url":"https://api.github.com/users/dnfclas/followers","following_url":"https://api.github.com/users/dnfclas/following{/other_user}","gists_url":"https://api.github.com/users/dnfclas/gists{/gist_id}","starred_url":"https://api.github.com/users/dnfclas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dnfclas/subscriptions","organizations_url":"https://api.github.com/users/dnfclas/orgs","repos_url":"https://api.github.com/users/dnfclas/repos","events_url":"https://api.github.com/users/dnfclas/events{/privacy}","received_events_url":"https://api.github.com/users/dnfclas/received_events","type":"User","site_admin":false},"created_at":"2016-02-04T09:37:54Z","updated_at":"2016-02-04T09:37:54Z","body":"Hi __@mikes-gh__, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!\r\n    <span>You've already signed the contribution license agreement. Thanks!</span>\r\n        <p>The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.</p>\r\n\r\nTTYL, DNFBOT;\r\n"}}